我有一个数组:
var list = JSON.parse('[{"id" = "8", "description" = "test"},{"id" = "10", "description" = "test_2"}]');
我正在使用其他数据来使用jQuery的ajax方法发布:
var data = { start: 123403987, list };
为什么将值提交为:
start=123403987&list[0][id]=8&list[0][description] = "test"...
我期待的地方:
start=123403987&list[0].id=8&list[0].description = "test"...
答案 0 :(得分:2)
因为那是默认的内容类型。您可以指定其他类型。还要确保您有一个有效的JSON对象(不是您的情况,使用:
而不是=
作为属性)或服务器端脚本可能会阻塞:
$.ajax({
type: 'POST',
url: '/foo',
data: '[{ id: "8", description: "test" }, { id: "10", description: "test_2"}]',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(result) {
alert('ok');
}
});
答案 1 :(得分:2)
您使用格式不正确的JSON,它应该是以下格式:
var list = JSON.parse('[{"id": "8", "description": "test"},{"id": "10", "description": "test_2"}]');