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"}]

どちらが正しい。

ただし、2回目に実行すると、アイテムに新しいオブジェクトを追加したいのですが、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 に答える