2014-01-20 2 views
1

я не мог найти ответ на этот онлайн, так что здесь идет:Невозможно изменить значение куки с JQuery

Я читаю строки из строки запроса, и я храню его в куки с помощью JQuery плагин печенье ,

Эта страница может быть перезагружена пару раз в день с различными идентификаторами, но, похоже, всегда помнит первое значение. Кажется, очень сложно заставить cookie каждый раз менять новое значение.

$.cookie('SomeId') // already contains some number from the first time the page was called. 

Логика Я пытаюсь использовать это:

if (QueryString.some_id) { 
    alert(QueryString.some_id); //shows new Id 
    $.cookie('SomeId', null, { expires: -1 }); //Tried deleting old cookie first 
    $.cookie('SomeId', QueryString.some_id, { expires: 30, path: '/' }); // Also tried without the path param 
    alert($.cookie('SomeId')); // Alerts the OLD id. Previous call didn't work. 
} 

Как я могу получить $.cookie('SomeId') быть обновляемым?

В случае, если это имеет значение, и я подозреваю, что это возможно, я запускаю эти тесты, запуская проект локально с помощью IIS. Это приложение MVC.

Спасибо

+0

Работает для меня, http://jsfiddle.net/rooseve/5Tp9n/. убедитесь, что {path: '/'} всегда установлен. – Andrew

+0

Что делать, если вы сначала попытаетесь удалить файл cookie, как этот '$ .removeCookie ('SomeId');'? – sroes

+0

Он работает на jFiddle, но в моем проекте каждый раз, когда я обновляю страницу, $ .cookie ('SomeId') застревает до самого первого значения. Возможно, это ошибка, потому что URL-адрес «localhost»? – Nick

ответ

0

У меня был этот вопрос некоторое время назад. Я исправил его, создав тестовый домен [я использую clientname.loc и создаю новый для каждого проекта] и поместил его в ваш файл hosts [C: \ Windows \ System32 \ Drivers \ etc \ hosts].

#existing hosts file entries 
127.0.0.1 clientname.loc 

В качестве альтернативы вы можете использовать 127.0.0.1 вместо localhost, как представляется, что работает.

+0

Yepp !! что это ... – Nick

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