#javascript #asp.net #cookies
#javascript #asp.net #файлы cookie
Вопрос:
Я создаю файл cookie в JS, используя это:
function setCookie(name, value, expires, path, domain, secure) {
var curCookie =
name "=" value
((expires) ? "; expires=" expires.toGMTString() : "")
((path) ? "; path=" path : "/")
((domain) ? "; domain=" domain : "")
((secure) ? "; secure" : "");
document.cookie = curCookie;
}
setCookie('AccountSelectedTab', '1');
когда я затем пытаюсь отредактировать этот файл cookie с помощью ASP.NET:
Response.Cookies['AccountSelectedTab'].Value = 'some value';
Он создает другой файл cookie вместо его изменения.
Если я установлю одинаковый путь для обоих файлов cookie, я не получу второй, но JS-файл не обновляется.
Я думаю, я что-то упускаю, но мне нужно представление о том, что…
Спасибо.
Комментарии:
1. Знаете ли вы, что ваш текущий JavaScript создает файл cookie сеанса, потому что вы опустили флаги
expires
иmax-age
?2. ДА. Мне не нужно, чтобы это сохранялось дольше, чем пользователь находится на веб-сайте.
3. Что заставляет вас думать, что это создает еще один файл cookie? Я протестировал ваш код на тестовом веб-сайте, и он отлично работает. Можете ли вы предоставить дополнительную информацию?
Ответ №1:
Я полагаю, вы меняете свой код как :
HttpCookie cookie = new HttpCookie("newCookie");
cookie.HttpOnly = false;
без этого вы не сможете получить доступ к файлам cookie через Javascript.
Комментарии:
1. Как это решение вопроса OP?