0

我有以下内容:

var cookie = $.cookie("Test_cookie");
var items = cookie ? eval("([" + cookie + "])") : [];
var jsonObj = { packageId: "11", machineId: "1", operationType: "Download" };
items.push(jsonObj);
$.cookie(cookieName, JSON.stringify(items), { expires: 1, path: '/' });

结果:

[{"packageId":"11","machineId":"1","operationType":"Download"}]

哪个是对的。

但是,当我第二次运行它时,我想将新对象附加到项目但 json 被搞砸了(注意额外的“[”):

var jsonObj = { packageId: "11", machineId: "1", operationType: "Download" };
items.push(jsonObj);
$.cookie(cookieName, JSON.stringify(items), { expires: 1, path: '/' });

结果:

[[{"packageId":"11","machineId":"1","operationType":"Download"}],{"packageId":"11","machineId":"1","operationType":"Download"}]

它应该是:

[{"packageId":"11","machineId":"1","operationType":"Download"},{"packageId":"11","machineId":"1","operationType":"Download"}]

是什么赋予了?

4

1 回答 1

3

你的错误就在附近

var items = cookie ? eval("([" + cookie + "])") : [];

做就是了

var items = cookie ? eval(cookie) : [];
于 2013-02-28T14:23:55.137 回答