2012-06-18 3 views
0

Я пытаюсь сделать некоторые вещи с печеньем. Пока я просто пытаюсь прочитать куки-файл и отображать значение в всплывающем окне, используя 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 

Что я Я здесь делаю неправильно?

+0

Я хотел бы посмотреть на другой ресурс; w3schools могут быть отрывочными порой и обычно недовольны большинством пользователей SO. Попробуйте [Страница Cookie Quirksmode] (http://www.quirksmode.org/js/cookies.html). Там также находится страница [document.cookie] MDN (https://developer.mozilla.org/en/DOM/document.cookie). –

+0

Что именно «он не делает»? Он работает для меня, но я вижу, что ваш «readLanguageCookie()» не имеет смысла. Он читает файл cookie и в зависимости от этого значения устанавливает cookie ... [Проверить мою скрипку] (http://jsfiddle.net/feZAC/) – iddo

+0

Можете ли вы опубликовать фактическое содержимое файла cookie в своем браузере? –

ответ

-1

Может быть причина жёстко дата ?:

document.cookie = 'language=en; expires=Thu, 2 Aug 2012 20:47:11 UTC; 
+0

проблема ЧТЕНИЕ куки-файла, у меня нет проблем с созданием – DeadManWalking

+0

, вы не можете прочитать cookie, если он уже истек. –

+0

, где im из его еще 2012 – DeadManWalking

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