尝试:
$.ajax({
url: '/Controller/ActionName',
data: { items: JSON.stringify(list) }
});
我已经试过以下选项:
<script type="text/javascript">
var list = [
{ id: 1, name: 'Charles' },
{ id: 8, name: 'John' },
{ id: 13, name: 'Sally' }
];
function run(){
$.ajax({
url: 'default.aspx',
data: { items: JSON.stringify(list) }
});
return false;
}
function run2() {
$.ajax({
url: 'default.aspx',
data: { items: list }
});
return false;
}
function run3() {
$.ajax({
url: 'default.aspx',
data: { items: list },
processData: false
});
return false;
}
function run4() {
$.ajax({
url: 'default.aspx',
data: list
});
return false;
}
</script>
运行1:Default.aspx的项目=%5B%7B%22id%22%3A1%2C %22name%22%3A%22Charles%22%7D%2C%7B%22id%22%3A8%2C%22name%22%3A%22John%22%7D%2C%7B%22id%22%3A13%2C%22name %22%3A%22Sally%22%7D%5D
Querystring [“items”] ='[{“id”:1,“name”:“Charles”},{ “id”:8,“name”:“John”},{“id”:13,“name”:“Sally”}]'
运行2:default.aspx?items%5B0%5D% 5Bid%5D = 1 & items%5B0%5D%5Bname%5D = Charles & items%5B1%5D%5Bid%5D = 8 & items%5B1%5D%5Bname%5D = John & items%5B2%5D%5Bid% 5D = 13 &项%5B2%5D%5Bname%5D =萨利
项[0] [ID] 1
项[0] [名称]查尔斯
项[1] [ID ] 8
项[1] [名称]约翰
项[2] [ID] 13
项[2] [姓名]萨利
试验3:Default.aspx的[对象%20Object]
[对象的对象]
试验4:查尔斯的Default.aspx =未定义&约翰=未定义&萨利=未定义
请求[ “查尔斯”] = '未定义'
请求[ “约翰”] = '未定义'
请求[ “萨利”] = '未定义'
现在从OP,我认为运行1是必需的选项,因为他想在服务器端处理JSON字符串?
ü需要把它转换成字符串(JSON格式),然后将它张贴 – vinothkr 2010-11-15 08:23:50
我如何做到这一点?我认为下面的'djch'试图在下面显示这个,但是使用'stringify',我假设它来自外部库。必须有内置到jQuery或JavaScript来做到这一点? – Jimbo 2010-11-15 08:40:32
使用$ .post。 $ .ajax使用GET,这意味着没有请求主体。 JSON不能放入查询字符串中,它必须放在正文中。 – RPM1984 2010-11-15 09:05:51