我在将cookie中的json数据存储然后访问它时遇到问题。虽然如果我直接访问json数据而不存储在cookie中它工作正常。但我需要将数据存储在cookie中。
这是我的代码段
var json_file = "excel_json_ip_" + myip + ".json"
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", json_file, false);
xmlHttp.send();
var jsonData = eval(xmlHttp.responseText);
console.log(jsonData);
此变量jsonData
存储:
[Object { impact=0.4, key="NPS_Telstra_NA_NA_NPS-CVA-NPSScore", name="NPS Score", more...}, Object { impact=0.1, key="NPS_Telstra_NA_NA_NPS-CVA-Promoters", name="% Promoters", more...}, Object { impact=0, key="NPS_Telstra_NA_NA_NPS-CVA-Passives", name="% Passives", more...}, Object { impact=-0.9, key="NPS_Telstra_NA_NA_NPS-CVA-Detractors", name="% Detractors", more...}, Object { impact=1, key="NPS_Telstra_NA_NA_NPS-CVA-Reactors", name="% Reactors", more...}, Object { impact=0.5, key="NPS_Telstra_NA_NA_NPS-CVA-XYZ", name="%XYZ", more...}, Object { impact=0.2, key="NPS_Telstra_NA_NA_NPS-CVA-ABC", name="%ABC", more...}, Object { impact=-0.7, key="NPS_Telstra_NA_NA_NPS-CVA-UV", name="%UV", more...}, Object { impact=0.6, key="NPS_Telstra_NA_NA_NPS-CVA-MN", name="%MN", more...}, Object { impact=-0.4, key="NPS_Telstra_NA_NA_NPS-CVA-JKL", name="%JKL", more...}, Object { impact=-0.5, key="NPS_Telstra_Central_Question", name="* Central Question", more...}]
现在如果我直接访问变量jsonData
,我的这部分代码运行正常。
jsonData.forEach(function(key) {
####body
})
但是如果我在cookie中设置变量jsonData
值并且访问它,则前面的部分foreach
不起作用。
setCookie('jsonData', jsonData, 1);
console.log(getCookie('jsonData'))
这是console
我得到的:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
答案 0 :(得分:0)
最后我得到了解决方案,我应该像这样使用cookie值。
var jsonDataNew = JSON.stringify(jsonData);
setCookie('jsonData', jsonDataNew, 1);
console.log(JSON.parse(getCookie('jsonData')))
JSON.parse
cookie
值为我解决了问题。