Javascript 如何在jquery ajax请求的数据参数中表示json数组?
我试图发布到我们的后端API,但是json数据中的数组被jquery变成了奇怪的东西……例如,后端(python)将jquery ajax数据视为两个列表的dictJavascript 如何在jquery ajax请求的数据参数中表示json数组?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图发布到我们的后端API,但是json数据中的数组被jquery变成了奇怪的东西……例如,后端(python)将jquery ajax数据视为两个列表的dict {'subject': ['something'], 'members[]': ['joe','bob']} 应该是什么时候 {'subject':'something','members':['joe','bob']} 从react组件提取的HTML表单: <div class="the_form">
{'subject': ['something'], 'members[]': ['joe','bob']}
应该是什么时候
{'subject':'something','members':['joe','bob']}
从react组件提取的HTML表单:
<div class="the_form">
<form onSubmit={this.handleSubmit}>
<input type="textarea" ref="members" placeholder="spongebob, patrick" />
<input type="submit" value="Add Thread" />
</form>
</div>
但是,我能够通过httpie(简单http命令行客户端)适当地发出这样的请求:
在javascript请求中,我可能做错了什么,导致输入以不同于预期的方式进入服务器?在调用ajax函数之前,尝试将对象字符串化 stringify({subject:“something”,members:[“joe”,“bob”]})试试这个
data: {subject: "something", members: ["joe","bob"]},
然后在后端
request.POST.getlist('members[]')
如果您想将application/json
用作contentType
,请尝试此操作
data: JSON.stringify({subject: "something", members: ["joe","bob"]}),
contentType: 'application/json; charset=utf-8',
在后端
json.loads(request.body)['members']
“我可能做错了什么”我不知道,你为什么不向我们展示你的代码,而不是让我们猜测呢?发布表单的HTML结构以及如何发出AJAX请求。展示你正在处理的完整代码以获得此输出。确保你的内容类型标题是application/json,并且你没有执行表单posthat tip@mecek:I needed
contentType:“application/json”
这也是必需的,但我还需要添加contentType:“application/json”
data: JSON.stringify({subject: "something", members: ["joe","bob"]}),
contentType: 'application/json; charset=utf-8',
json.loads(request.body)['members']