我需要以这种格式发送mi post
{
"elements" : ["elem1", "elem2","elem3" ]
}
我创建了这个数组:
var miElem=["elem1", "elem2","elem3" ]
$.post({
url: 'url',
data: {"elements" : miElem} ,
dataType: 'json',
success: function(data) {
console.log(data)
}.bind(this),
error: function(xhr, status, err) {
console.log(err)
}.bind(this)
});
但不起作用,数据发送良好,但格式不正确
答案 0 :(得分:1)
像这样使用$.ajax()
。使用$.post
不正确。检查$.post
的语法。https://api.jquery.com/jquery.post/
var miElem=["elem1", "elem2","elem3"];
$.ajax({
url: 'url',//give your url here
type:'POST',
data: {elements : miElem} ,
dataType: 'json',
success: function(data) {
alert('success');//test for successful ajax request
console.log(data);
},
error: function(xhr, status, err) {
alert('error');//test for unsuccessful ajax request
console.log(err);
}
});
答案 1 :(得分:0)
您应该使用$.ajax
代替$.post
。
在$.ajax
中不要使用成功和错误参数。使用.done()
,.fail()
,..(http://api.jquery.com/jquery.ajax/)它更全面。如果您想使用promise,可以使用.then()
。
数据类型参数用于响应类型。
答案 2 :(得分:0)
您的请求失败,因为
$.post()
方法传递了错误的参数。type:'POST'
,则未设置$.ajax
。 $.post()
执行以下操作:
$.post('url', {elements: miElem}).done(function(data) {
console.log(data);
}).fail(function (error)
console.error(error);
});
$.ajax
执行以下操作:
$.ajax({
type: 'POST',
url: 'url',
data: {elements: miElem},
success: function (data) {
console.log(data);
},
dataType: 'json'
});