繁体   English   中英

发送数组以发布ajax

[英]send array to post ajax

我需要以这种格式发送mi帖子

{
  "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)
        });

但不起作用,数据发送正常,但格式不正确

像这样使用$.ajax()$.post 。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);
          }
       });

您应该使用$.ajax而不是$.post $.ajax ,不要使用成功和错误参数。 使用.done().fail() ,..( http://api.jquery.com/jquery.ajax/ )更为全面。 如果要使用promise .then()可以使用.then()

数据类型参数用于响应类型。

您的请求失败,因为

  1. 您将错误的参数传递给$.post()方法。
  2. 如果您打算使用$.ajax则没有设置type:'POST'

$.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'
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM