gpt4 book ai didi

javascript - 为什么我的 $.ajax() JSON 数据会像这样发回服务器?

转载 作者:行者123 更新时间:2023-11-30 23:42:26 25 4
gpt4 key购买 nike

我有一个 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 解析器可以正确解析它?

最佳答案

尝试:

$.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?items=%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

查询字符串["items"] = '[{"id":1,"name":"Charles"},{"id":8,"name":"John"},{"id":13 ,"name":"莎莉"}]'

运行 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=约翰&items%5B2%5D%5Bid%5D=13&items%5B2%5D%5Bname%5D=莎莉

项目[0][id]1

项目[0][姓名]查尔斯

项目[1][id]8

项目[1][姓名]约翰

项目[2][id] 13

项目[2][名称]莎莉

运行 3:default.aspx?[object%20Object]

[对象对象]

运行 4:default.aspx?Charles=undefined&John=undefined&Sally=undefined

请求[“查尔斯”] = '未定义'

请求[“约翰”] = '未定义'

请求[“莎莉”] = '未定义'

现在从OP来看,我认为Run 1是必需的选项,因为他想在服务器端处理JSON字符串?

关于javascript - 为什么我的 $.ajax() JSON 数据会像这样发回服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4182568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com