Javascript 为什么jQuery.cookie返回“;[对象对象]”;对于单个字符串值
我像这样在轨道上放了块饼干Javascript 为什么jQuery.cookie返回“;[对象对象]”;对于单个字符串值,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我像这样在轨道上放了块饼干 cookies[:account] = { :value => @account.to_s, :expires => 3.month.from_now } 一个简单的debug@account --- myvalue … 但是当使用jQuery.cookie调用cookie时,它会返回一个“[object object]” > $.cookie('account'); "[object Object]" 知道为什么会发生这种情况以及如何解决吗?
cookies[:account] = { :value => @account.to_s, :expires => 3.month.from_now }
一个简单的debug@account
--- myvalue
…
但是当使用jQuery.cookie调用cookie时,它会返回一个“[object object]”
> $.cookie('account');
"[object Object]"
知道为什么会发生这种情况以及如何解决吗?
[object object]
是来自object.toString()
的返回值,这意味着$.cookie('account')正在返回一个非数字、非字符串的对象
在开始计算返回值中的内容的过程中(为了帮助您确定返回的对象中的内容),需要在属性上循环以计算它
那么像这样,
var obj = $.cookie('account');
var msg = [];
for(var i in obj) msg.push( i +" = " + obj[i]);
alert(msg.join("\n")); // or console.log(msg.join("\n"));
[object object]
是object.toString()
的返回值,这意味着$.cookie('account')返回的是一个非数字、非字符串对象
在开始计算返回值中的内容的过程中(为了帮助您确定返回的对象中的内容),需要在属性上循环以计算它
那么像这样,
var obj = $.cookie('account');
var msg = [];
for(var i in obj) msg.push( i +" = " + obj[i]);
alert(msg.join("\n")); // or console.log(msg.join("\n"));
对于遇到此问题的任何其他人,请检查以确保没有多个同名cookie(具有不同的路径或过期)。这可能导致$.cookie()将
[object object]
返回给遇到此问题的任何其他人,请检查以确保没有多个同名的cookie(路径或过期时间不同)。这可能导致$.cookie()返回您可以使用的[object object]
。
你可以像这样设置和获取饼干
docCookies.setItem(name, value);
docCookies.getItem(name);
你可以用。
你可以像这样设置和获取饼干
docCookies.setItem(name, value);
docCookies.getItem(name);
我知道我在这里的答案已经很晚了,但我想我也会在这里发布我的解决方案。我与jQuery Cookie返回[object object]的问题斗争了数小时,发现了一些可能导致这种情况的情况:-
- 相同的cookie名称,但位于不同的路径
- 我发现传递path/expiry的参数时,插件有时会将其视为我在设置一个值,并尝试设置一个类似JSON的对象,将path和expiry作为值
- 在加载cookie集代码时加载脚本两次
- AJAX加载的内容刷新脚本可能会导致出现此问题
我希望这能帮助其他人,让他们从我曾经的挫折中解脱出来 我知道我在这里的答案已经很晚了,但我想我也会在这里发布我的解决方案。我与jQuery Cookie返回[object object]的问题斗争了数小时,发现了一些可能导致这种情况的情况:-
- 相同的cookie名称,但位于不同的路径
- 我发现传递path/expiry的参数时,插件有时会将其视为我在设置一个值,并尝试设置一个类似JSON的对象,将path和expiry作为值
- 在加载cookie集代码时加载脚本两次
- AJAX加载的内容刷新脚本可能会导致出现此问题
我希望这能帮助其他人,让他们从我曾经的挫折中解脱出来 Cookie的最大大小仅为4kb。这可能是原因之一 至于我的情况。单看数据就肯定超过4kb
不过,我的选择是使用本地存储。Cookie的最大大小仅为4kb。这可能是原因之一 至于我的情况。单看数据就肯定超过4kb
但我的选择是使用本地存储。您是否更改了jQuery Cookie的任何参数?否。没有更改任何参数。您是否更改了jQuery Cookie的任何参数?否。没有更改任何参数。已解决。我无意中覆盖了cookie。它会按字面意思返回“[obj e c t to bj e c t]”。不是很有用。解决了。我无意中覆盖了cookie。它会按字面意思返回“[obj e c t to bj e c t]”。不是很有用。