【发布时间】:2014-04-19 02:24:00
【问题描述】:
我想在 cookie 中保存一些 json 数据,并使用 jquery cookie 在不同的页面中检索它 这是我获取数据并存储它的方法。
$.ajax({
type: "POST",
url: "V2_Loader.aspx/GetMenuData",
data: "{id:" + id + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
menus = response.d;
$.cookie('menu-data', menus);
}
}
在另一个页面中,我尝试像这样检索它。
menus = JSON.parse($.cookie("menu-data"));
但我收到“JavaScript 运行时错误:无效字符” 我试过打开 json 标志 $.cookie.json = 真; 在存储它之前以及当我尝试打印它时。 像这样
var result;
for (var i = 0; i < menus.length; i++) {
result += menus[i].menuText + ', ';
}
alert(result);
我得到了一个未定义的数组,像这里一样打印printed array
这就是我的回复看起来像response
关于我应该如何存储和检索它的任何建议?
【问题讨论】:
-
我已经删除了您的标签和标题中的 ASP.NET 引用,因为您的问题是客户端和提供数据的服务器端技术无关紧要。
-
data: "{id:" + id + "}"应该是:data: {id: id } -
id 是传递给检索数据的函数的变量,这就是我将它连接到数据字符串的原因,看起来它似乎没有问题
-
@hjpotter92 这是不正确的。他专门将 JSON 发布到服务器,因此是 json contentType。
-
你为什么使用
async: false?
标签: jquery jquery-cookie