Tôi đang phát triển một ứng dụng bằng jQuery sử dụng cookie. Ngay bây giờ, nó nằm ở application.html
trên máy tính để bàn PC của tôi.Tại sao cookie jQuery không thực sự đặt cookie?
Tuy nhiên, tôi không thể lưu trữ và truy lục cookie. Tôi đã bao gồm jquery-1.7.1.min.js
, json2.js
và jquery.cookie.js
trong tệp HTML của tôi theo thứ tự đó.
Dưới đây là cách tôi đang lưu trữ một cookie sẽ kéo dài trong 7 ngày:
$.cookie("people", JSON.stringify(people_obj_array), {expires: 7});
Mảng toàn cầu people_obj_array
trông giống như
[
{
"name": "Adam",
"age": 1,
},
{
"name": "Bob",
"age": 2,
},
{
"name": "Cathy",
"age": 3,
},
]
Khi tôi kiểm tra mã hóa JSON với alert(JSON.stringify(people_obj_array))
, có vẻ tốt đẹp:
Tuy nhiên, khi tôi truy xuất cookie này qua:
alert($.cookie("people"));
trước khi làm mới trang, một cảnh báo bật lên có nội dung là "null". Không phải văn bản là chuỗi JSON cảnh báo phải không? Tôi có đang sử dụng thư viện cookie JQuery chính xác không?
Chỉ cần làm rõ, đây là cách tôi đang thử nghiệm:
$.cookie("people", JSON.stringify(people_obj_array), {expires: 7}); // store
alert($.cookie("people")); // attempt to retrieve
Tôi có Firebug, và tôi sẵn sàng để làm một số xét nghiệm Console.
Tôi nghĩ vấn đề là cơ chế cookie không được định nghĩa cho các tập tin trên đĩa địa phương. Bạn đã thử thiết lập máy chủ web cục bộ và phân phát tệp của mình dưới dạng 'http: // localhost/application.html' chưa? –
Cảm ơn! Tôi đã chỉ sử dụng bộ nhớ cục bộ. Nó đơn giản hơn nhiều và hoạt động cả cục bộ lẫn trên máy chủ web. Nhược điểm là, tất nhiên, các trình duyệt cũ không hỗ trợ nó, điều đó tốt cho tôi. http://coding.smashingmagazine.com/2010/10/11/local-storage-and-how-to-use-it/ – dangerChihuahua007