如何读取 jquery 中的 cookie?
how to read cookies in jquery?
我正在使用 carhartl 的 jQuery cookie 插件创建一个带有对象的键和值的 cookie,在我的方法之一中我调用了 create cookie,然后我调用了 get cookie;但是读取方法不起作用:
makeCookie 方法:
function makeCookie(name,value){
$.cookie(name,value);
}
readCookie 方法:
function readCookie(name){
$.parseJSON($.cookie(name));
}
并调用这 2 个方法:
makeCookie('chatPopups',popUps);
var all=readCookie('chatPopups');
alert(all);
popUps 是一个全局 javascript 对象;
我得到的错误是:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
有人可以帮我吗?
请尝试在 readCookie
函数中更改此代码
readCookie 方法:
function readCookie(name){
return $.cookie(name); // no parse needed because its not a json object of cookie
}
您的 $.cookie() 方法看起来不错。
问题很可能出在弹出窗口上,它可能不是格式正确的 JSON 字符串,因为 $.parseJSON() 非常敏感。
由于 popUps 是一个全局 JavaScript 对象,您可以 return $.cookie(name);
而不 JSON 解析。
解决了问题,将 makeCookie 方法更改为:
function makeCookie(name,value){
$.cookie(name,$.param(value),{ path: '/' });
}
和 readCookie 方法:
function readCookie(name){
var readCookie=$.cookie(name);
readCookie = readCookie.split('&');
if(readCookie.length != 0){
for (i=0; i<readCookie.length; i++) {
readCookie[i] = readCookie[i].split('=');
popUps[readCookie[i][0]] = readCookie[i][1];
}
}
}
试试这个
function getCookieValue(cname) { // cname is nothing but the cookie value which contains
// the value
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
我正在使用 carhartl 的 jQuery cookie 插件创建一个带有对象的键和值的 cookie,在我的方法之一中我调用了 create cookie,然后我调用了 get cookie;但是读取方法不起作用: makeCookie 方法:
function makeCookie(name,value){
$.cookie(name,value);
}
readCookie 方法:
function readCookie(name){
$.parseJSON($.cookie(name));
}
并调用这 2 个方法:
makeCookie('chatPopups',popUps);
var all=readCookie('chatPopups');
alert(all);
popUps 是一个全局 javascript 对象;
我得到的错误是:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
有人可以帮我吗?
请尝试在 readCookie
函数中更改此代码
readCookie 方法:
function readCookie(name){
return $.cookie(name); // no parse needed because its not a json object of cookie
}
您的 $.cookie() 方法看起来不错。
问题很可能出在弹出窗口上,它可能不是格式正确的 JSON 字符串,因为 $.parseJSON() 非常敏感。
由于 popUps 是一个全局 JavaScript 对象,您可以 return $.cookie(name);
而不 JSON 解析。
解决了问题,将 makeCookie 方法更改为:
function makeCookie(name,value){
$.cookie(name,$.param(value),{ path: '/' });
}
和 readCookie 方法:
function readCookie(name){
var readCookie=$.cookie(name);
readCookie = readCookie.split('&');
if(readCookie.length != 0){
for (i=0; i<readCookie.length; i++) {
readCookie[i] = readCookie[i].split('=');
popUps[readCookie[i][0]] = readCookie[i][1];
}
}
}
试试这个
function getCookieValue(cname) { // cname is nothing but the cookie value which contains
// the value
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}