【发布时间】:2010-11-15 08:21:30
【问题描述】:
我有一个 javascript 中的项目列表:
var list = {
{ id: 1, name: 'Charles' },
{ id: 8, name: 'John' },
{ id: 13, name: 'Sally' }
};
但是当我像这样将它发布到服务器时:
$.ajax({
url: '/Controller/ActionName',
data: { items: list }
});
它像这样到达服务器:
items[0][id]=1&items[0][name]=Charles&items[1][id]=8&items[1][name]=John&items[2][id]=13&items[2][name]=Sally
我如何让它以 JSON 表示法到达,即用大括号!以便.NET 解析器可以正确解析它?
【问题讨论】:
-
你需要把它转换成一个字符串(格式化的JSON)然后发布它
-
我如何做到这一点?我认为下面的
djch试图在下面显示这一点,但使用我假设来自外部库的stringify。必须在 jQuery 或 javascript 中内置一些东西才能做到这一点? -
使用 $.post。 $.ajax 使用 GET,这意味着没有请求正文。 JSON 不能放在查询字符串中,它必须放在正文中。
-
JSON.stringify 原生地融入了大多数现代浏览器(甚至是在 IE8 模式下运行的 IE8!)并且是 JSON.parse 的对应物。如果浏览器本身不支持它,你可以从 json.org 中包含 json2.js 来添加对它的支持。
标签: javascript asp.net jquery ajax json