繁体   English   中英

发送数组时的jQuery和ajax

[英]jquery and ajax when sending array

我在jQuery中创建了一个函数,该函数将获取一些数据表单页面,然后需要使用ajax发送数据。 我已经测试过发送一些字符串作为数据,并且一切正常,但是现在,由于某种原因我需要发送数组时,它不起作用。 在控制台上,我有:

["3"]
[]

而且我没有戒备。 数据类型可能有问题吗?

$("#save").click(function() {
   var sendArr= new Array();
   var arr = $(".sortable").map(function(){return this.innerHTML}).get();        
   for (var i = 0; i < arr.length; i++) {

       test =$(arr[i]).map(function() {  return $(this).attr("data-ex");    });
       console.log(test);
       sendArr[i]=test;
   }


        $.ajax({
      type: "POST",
      url: "http://localhost/someurl/",
      data:  {action:  sendArr}
    }).done(function( msg ) {
          alert( "Data Saved: " + msg );
    });

});

gogic-制作一个更简单的示例进行测试,然后从中进行构建。

$(function() {

var serialized = JSON.stringify({"msg" : "Hello!"});
$.ajax({
    url: myURL,
    type: 'POST',
    data: serialized,
    contentType: 'json',
    dataType: 'html'
}).done(function(obj) {
    $('div').html(obj.msg);
}).fail(function() {
    alert('Failed!');
});

});

dataType是您期望收到的; contentType是您要发送的内容。 您的JSON必须使用JSON.stringify(obj)进行序列化。

另外,当您将数组作为JSON发送时,它应类似于:

var array_json = {"myArray" : [1, "example", 2, "array"]}
var serialized = JSON.stringify(array_json)

使用console.log确保您创建的JSON有效。

暂无
暂无

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

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