2015-01-12 3 views
0

У меня есть имя пользователя cookie, и я хочу получить доступ к значению cookie в моем файле js скрипта js и назначить его наблюдаемой переменной. Как я могу это сделать?Как связать значение cookie с переменной в нокауте

var Suggestion = { 
    SuggestionId: self.SuggestionId, 
    Title: self.Title, 
    CategoryId: self.CategoryId, 
    ProductId: self.ProductId, 
    Details: self.Details, 
    StatusId: self.StatusId, 
    CreatedDate: self.CreatedDate, 
    CreatedBy: self.CreatedBy, 
    ModifiedDate: self.ModifiedDate, 
    ModifiedBy: self.ModifiedBy, 
    UserId: self.UserId 

}; 

я хочу присвоить CreatedBy со значением в печенье вар userCookie = новый HttpCookie ("пользователь", user.username); Как это сделать

ответ

1

Если ваш файл cookie установлен с флагом HttpOnly, вы не сможете получить доступ к его значению с помощью javascript. Вы можете проверить значение document.cookie, чтобы узнать, можете ли вы его увидеть. Одним из возможных решений в этом случае, чтобы сохранить значение куков в некоторых глобальных переменной JavaScript на стороне сервера сценарий:

<script type="text/javascript"> 
    @{ var cookieValue = Request.Cookies["user"] != null ? Request.Cookies["user"].Value : ""; } 
    var user = @Html.Raw(Json.Encode(cookieValue)); 
</script> 

, а затем в вашем нокауте сценарии вы могли бы получить доступ к этому глобальным переменному:

CreatedBy: user, 
+0

Спасибо за ответ, я могу видеть значение через document.cookie, и я создал глобальную переменную, но все еще не могу получить значение binded.as У меня есть файл сценария и просмотр отдельно –

+0

Если вы можете увидеть значение в документе .cookie, вы можете просто извлечь его оттуда. В этом случае вам не нужна глобальная переменная. –

+0

Спасибо, что это сработало для меня, я потратил много времени на это .... @ Дарин –

Смежные вопросы