在javaScript中,使用jQuery库,我需要:
使用JSON很容易。
// Write JSON Cookie
var foo = JSON.stringify(myValue);
writeCookie(foo);
// Read [Eat?] JSON Cookie
var foo = JSON.parse(readCookie("myArray"));
if(foo.length) {
myArray = foo;
}
(注意:writeCookie(); readCookie();我根据quirksmode.org上建议的cookie函数编写了2个函数。)
现在,我的用户群涉及很多IE8之前的浏览器。 (这不支持这些方法)。所以我想转向jQuery插入漏洞。 Parsing JSON很简单:
// Read JSON Cookie with jQuery
var foo = jQuery.parseJSON(readCookie("myArray"));
if(foo.length) {
myArray = foo;
}
我的问题是我如何使用jQuery将一个JSON对象写入cookie(这样它可以用于早期版本的IE)。
由于
更新:仍然混淆为什么jQuery会提供parseJSON函数而不是writeJSON函数?
答案 0 :(得分:3)
这是原生函数JSON.stringify
;标准jQuery不提供它周围的兼容性包装,但浏览器兼容性也不错(可以在IE> = 8以及其他所有内容上工作)。
答案 1 :(得分:1)
您可以使用JSON2库https://github.com/douglascrockford/JSON-js与旧版浏览器兼容。
答案 2 :(得分:0)
最好的方法是在JSON对象中包含polyfill。
但是如果你坚持在jQuery命名空间中创建一个将对象序列化为JSON表示法的方法,你可以这样做: