【发布时间】:2017-08-16 19:16:37
【问题描述】:
我有一个 javascript 数据文件,如下所示:
data = {
items : [
{name: 'ABC'},
{name: 'CDF'}
]
}
当我将此数据传递给$.ajax(type: 'POST', data: data) 时,转换后的数据如下所示:
items[0][name]: 'ABC'
items[1][name]: 'CDF'
我的问题是我发送此数据的服务器将其解释为:
items: {
'0' : { 'name' : 'ABC' },
'1' : { 'name' : 'CDF' }
}
这里的问题是items 被视为一个对象,而不是一个数组!
那么如何确保$.ajax 将items 编码为数组而不是对象?谢谢,麻烦您了!
【问题讨论】:
-
你也发送这个是什么服务器?看起来不像是js的问题,而且jQuery不会把数组转成对象
-
查看转换后的数据。它是一个相对于 js 的数组。但是如果整数
0是一个字符串'0'它可以很容易地被解释为一个对象。 -
我查看了更多文档。将
traditional设置为true 也不起作用,因为该对象只是作为object发送的。我想要将当前实现与传统的参数序列化结合起来。但目前可能无法实现。
标签: javascript jquery arrays ajax http-post