Tôi có vấn đề này thực sự lạ với cookie cài đặt javascript phía khách hàng. Tôi đang phát triển một bản trình diễn 1 trang nhỏ vào lúc này để sử dụng cookie để lưu trữ một số 'sở thích'. Xin lưu ý rằng tôi không thể sử dụng ngôn ngữ phía máy chủ cho bản trình diễn này hoặc bất kỳ plugin jQuery của bên thứ ba nào.Javascript document.cookie luôn rỗng chuỗi
Vì vậy, tôi đã viết một đối tượng javascript để thiết lập một cookie:
var cookie = {
set: function (name,value,exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=name + "=" + value;
console.log(document.cookie);
}
}
cookie.set('foo','bar',2);
console.log(document.cookie);
Nó chỉ trả về một chuỗi rỗng. Tôi đã đi vào Chrome giao diện điều khiển để xem nếu tôi có thể làm điều đó thông qua trực tiếp sửa đổi document.cookie
> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
Làm thế nào để bạn thiết lập một cookie qua phía khách hàng javascript?
Chỉnh sửa: Tôi không ở chế độ ẩn danh và cookie được bật.
Cũng xem https://developer.mozilla.org/en-US/docs/DOM/document.cookie –
Có vấn đề tương tự (nhưng không giống nhau). Chúng tôi có thể đọc và ghi cookie, không phải tất cả chúng. Cụ thể là cookie phiên (JSESSIONID) không thể đọc được ... Có vẻ như đây là tính năng bảo mật nhưng gặp khó khăn trong việc tìm kiếm thông tin về nó ... Bất kỳ ai biết về điều này? –
@StijndeWitt: Đó là một câu hỏi khác, vui lòng tự hỏi nó thay vì thêm tiền thưởng cho điều này. Btw, câu trả lời có thể là ['http-only' cookies] (http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie) – Bergi