使用jquery ajax发布数组

Dan*_*iel 9 jquery post json

我想做一些相当简单的事情,但我似乎无法找到解决方案.我想使用jQuery的.ajax函数将多维数组发布到php页面,但我似乎无法正确地序列化数组.

代码如下

var dataToSend = new Array();
  dataToSend["page"] = location.href;
  dataToSend["data"] = new Array();
  var dataindex = 0;
  jQuery(".myclass").each(function(){
      dataToSend["data"][dataindex]=new Array();
      dataToSend["data"][dataindex]["selector"] = unique_selector(jQuery(this), "");
      dataToSend["data"][dataindex]["contents"] = jQuery(dataToSend["data"][dataindex]["selector"]).html();
  });
  jQuery.ajax({
      type: 'POST',
      url: "/main/save.php",
      data: JSON.stringify(dataToSend),
      dataType: "json",
      success: function(data){alert(data);}
  });
Run Code Online (Sandbox Code Playgroud)

基本上我不知道如何正确传递dataToSend数组.现在firebug将帖子显示为空,即使数组中装载了各种好东西.

谢谢,

丹尼尔

jer*_*one 11

你在定义new Array();,但是你正在使用它们new Object().尝试使用对象.

试试这个:

var dataToSend = { 
    page: location.href, 
    data: []
};
var dataindex = 0;
jQuery(".myclass").each(function(){
    var temp = unique_selector(jQuery(this), "");
    dataToSend.data[dataindex++] = {
        selector: temp,
        contents: jQuery(temp).html()
    };
});
jQuery.ajax({
    type: 'POST',
    url: "/main/save.php",
    data: JSON.stringify(dataToSend),
    dataType: "json",
    success: function(data){ alert(data); }
});
Run Code Online (Sandbox Code Playgroud)