<p>我对JavaScript和web开发相当陌生,所以在问这个问题时有点不知所措。<br/></p>
<p>经过多次尝试,我发现如果我从AJAX发送一个带有数组的JSON对象,那么它就会按照我想要的方式工作:<br/></p>
<pre><code>$('#recordList').on('change',function(){
var location_list = []
$(this).find("option:selected").each(function(){
location_grp = $(this).parent().attr("label");
location_list.push(location_grp);
})
var records = $('#recordList').val();
recordsJSON = {};
location_list.forEach(function(k,i){
if(!(k in recordsJSON))
{
recordsJSON[k] = [];
recordsJSON[k].push(records[i]);
}
else{
recordsJSON[k].push(records[i]);
}
})
console.log(recordsJSON);
$.ajax({
type: 'POST',
url: '/data/records',
contentType: 'application/json',
data: JSON.stringify(recordsJSON),
success: function( result ){
console.log('result:',result);
}
})
});
</code></pre>
<p>因此,对于我的步骤2,recordJSON将是<code>{"Location1":["report31101"],"Location3":["report31101","report13904"]}</code></p>