Я пытаюсь сохранить данные JSON, которые я получаю через AJAX в cookie jQuery. Для этого я использую следующий плагин: https://github.com/carhartl/jquery-cookie. Плагин отлично работает, когда я храню объекты без JSON. Я вижу, что он отлично работает при хранении простых строк. Однако, когда я пытаюсь сохранить данные JSON, полученные из моего вызова AJAX, cookie не сохраняется. Вот мой код:Хранение данных JSON в jQuery Cookie после успешного вызова AJAX
$.ajax({
dataType: "json",
url: "http://www.example.com/sandbox/BF/context/messagesNew.php",
success: function(data) {
//This works
$.cookie('Name', 'John');
console.log($.cookie('Name'));
//This does not work
$.cookie("test-data", JSON.stringify(data));
var myJSONCookie = JSON.parse($.cookie("test-data"));
console.log(myJSONCookie); // Returns error in console: SyntaxError: JSON Parse error: Unexpected identifier "undefined"
}
});
Я пробовал несколько других фрагментов кода, но никто из них не работал должным образом. Я даже не думаю, что test-data
создается как файл cookie, потому что когда я зарегистрировал весь $.cookie();
на консоли, появляется мой файл cookie под названием Name
, но test-data
нет.
Любая помощь с этим оценивается!
Я бы предложил вам добавить 'console.log (data)', чтобы увидеть, что такое переменная 'data'. Я предполагаю, что это 'undefined' или что-то, что не правильно строит – jfriend00
@ jfriend00 Я сделал это, и это мой JSON. Я дважды проверял это, потому что думал то же самое. Любые другие мысли о том, что это может быть? – three3
Укажите, как выглядят данные. Кроме того, попробуйте взять '-' из имени файла cookie в случае, если все испортится. И вы посмотрели в отладчике, чтобы узнать, какие там значения cookie? – jfriend00