gpt4 book ai didi

javascript - 使用包含列表的 json 数据发送 post 请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:32:50 25 4
gpt4 key购买 nike

已解决。解决方案是将 contentType 设置为 'application/json' 并使用 JSON.stringify(obj) 而不是 obj,但您随后可能必须根据语言或框架更改在服务器上获取数据的方式。原始问题如下...

这是我正在尝试的

var obj = {
'firstName': 'bill',
'lastName': 'johnson',
'hobbies': ['apples', 'dogs']
});
$.ajax({
type: 'POST',
url: '/myurl'
data: obj,
success: function(data){alert(data);}
});

如果我警告/记录 JSON.stringify(obj),我会得到正确的结果,即:

{'firstName': 'bill', 'lastName': 'johnson', 'hobbies': ['apples', 'dogs']}

但是,当我执行上述 ajax 调用时,我的服务器得到以下信息:

{'firstName': 'bill', 'lastName': 'johnson', 'hobbies[]': 'apples'}

这显然不是正确的 json。我已经尝试添加各种 contentType 参数,但我的服务器实际上什么也得不到(一个空的发布请求)。

我还尝试将数据参数设置为预先字符串化的 JSON 字符串(这是正确的),但随后 jquery 对其进行了转义,我的服务器得到了这个:

{"{\"firstName\":\"bill\",\"lastName\":\"johnson\",\"hobbies\":[\"apples\",\"dogs\"]}": ""}

我尝试将 processData 设置为 false 并且没有任何改变。

我已经对此进行了数小时的研究,但还没有让它发挥作用。当然有一种方法可以将带有列表的 json 发送到服务器...

有什么建议吗?

最佳答案

从你的帖子来看,我认为我自己对 JSON 有点陌生,但它看起来像是将最后一个键值对视为一个数组,要访问你必须使用正确的索引来访问的各个元素值(value)。来自 json.org JSON 建立在两种结构之上:• 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。• 一个有序的值列表。在大多数语言中,这被实现为数组、向量、列表或序列。如果您仍然认为有问题,可以在 jsonlint.com 上查看。

关于javascript - 使用包含列表的 json 数据发送 post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23380068/

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