我正在构建这个简单的对象数组
var myData = $('.form-group input:not(.add), .form-group select').map(function() {
return {
'id': this.id,
'value': this.value
};
}).get();
如果我在console.log中输出,我可以看到键和值
但是当我尝试在$ .ajax调用中使用myData
时,会丢弃密钥吗?
e.g。
$.ajax({
url: site + form,
type: 'POST',
async: false,
data: myData,
success: function(response) {
//do stuff
}
});
这是POST标题:
答案 0 :(得分:1)
发布数据时,您的数据应如下所示:
{
key1: val1,
key2: val2
}
在您的情况下,您的数据如下:
[
{
id: key1,
value: val1
},
{
id: key1,
value: val1
}
]
以下是有关如何构建myData
变量的修复方法:
var myData = {}
$('select').each(function() {
myData[this.id] = this.value;
})
console.log(myData)
$.ajax({
url: '',
type: 'POST',
async: false,
data: myData,
success: function(response) {
//do stuff
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="a"><option>1</option></select>
<select id="b"><option>2</option></select>
&#13;