Я пытаюсь сделать некоторые вещи с печеньем. Пока я просто пытаюсь прочитать куки-файл и отображать значение в всплывающем окне, используя alert (value). Учебное пособие Я следую за этим: http://www.w3schools.com/js/tryit.asp?filename=tryjs_cookie_usernameПочему я не могу прочитать значение моего cookie?
Как-то это не работает, когда я реализую это в своем веб-приложении. Файл cookie будет создан, но часть чтения как-то не работает. Когда я использую панель инструментов веб-разработчиков, я вижу, что существует файл cookie с именем 'language'.
Это блок сценария в моем index.aspx
function createCookie() {
var box = document.getElementById("language");
var value = box.options[box.selectedIndex].value;
var name = "language";
var days = 1;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
} else var expires = "";
document.cookie = name + "=" + value + expires + ";path=/;";
document.cookie = 'language=en; expires=Thu, 2 Aug 2012 20:47:11 UTC; path=/'
window.location = 'http://localhost:57688';
}
function readLanguageCookie() {
var language = getCookie("language");
if (language != null && language != "") {
alert("Language is: " + language);
} else {
language = "en";
if (language != null && language != "") {
setCookie("language", language, 365);
}
}
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
И это, как я пытаюсь выполнить метод
<form method="get" action="http://localhost:57688">
<label for="language">hjhj</label>
<select id="language" onchange="readLanguageCookie()">
<option value="en">English</option>
<option value="nl">Dutch</option>
</select>
</form>
детали Cookie:
Name language
Value en
Host localhost
Path /
Secure No
Expires Thu, 02 Aug 2012 20:47:11 GMT
Что я Я здесь делаю неправильно?
Я хотел бы посмотреть на другой ресурс; w3schools могут быть отрывочными порой и обычно недовольны большинством пользователей SO. Попробуйте [Страница Cookie Quirksmode] (http://www.quirksmode.org/js/cookies.html). Там также находится страница [document.cookie] MDN (https://developer.mozilla.org/en/DOM/document.cookie). –
Что именно «он не делает»? Он работает для меня, но я вижу, что ваш «readLanguageCookie()» не имеет смысла. Он читает файл cookie и в зависимости от этого значения устанавливает cookie ... [Проверить мою скрипку] (http://jsfiddle.net/feZAC/) – iddo
Можете ли вы опубликовать фактическое содержимое файла cookie в своем браузере? –