通过ajax发送多维数组

所以基本上我的jQuery和HTML代码用于创建数组。 它基本上采用每个div进行类设置并检查它是否具有属性rel的跨度,如果有,则在数组下插入数组。 每个新的div.settign span rel属性将插入到同一父数组下的另一个数组中。

检查此代码以了解它 – http://jsfiddle.net/xVuHx/ 。

它也贴在这里 –

jQuery(document).ready(function() { var rel = []; jQuery(".setting").each(function() { rel.push(jQuery(this).find('span[rel]').map(function() { return this.getAttribute('rel'); }).get()); }); jQuery("body").text(rel); });​ 

和HTML –

 
Variable Item Something
Smth Sec
Second First Third

它运行良好并显示两个数组 – 一个有3个元素,一个有两个,但是当我尝试通过ajax将它传递给PHP文件时,ti给了我[object Object] var_dump($ array); 。 我也尝试做foreach,但它告诉我,无效的参数传递给foreach语句,所以我想我将数组发送到ajax不正确或者数组不正确。

这是我的ajax代码 –

 var myArray = jQuery(this).sortable("serialize") + "&type="+rel+"&action=update_homepage"; jQuery.post("'.admin_url("admin-ajax.php").'", myArray, function(response){ var info = response.slice(0,-1); }); 

这个ajax代码是通过wordpress生成的,因此它的ajax请求与默认的AJAX请求略有不同。

请问你能检查一下究竟是什么问题?

编辑:

刚尝试用print_r($myArray);输出print_r($myArray); 在php端,它输出空字符串。

在浏览器控制台(部分网络)中检查AJAX请求中发布数据的格式。

您可以在此stackexchange问​​题中找到有关在浏览器中打开控制台的信息。

JSON-js – JavaScript中的JSON。

要将对象转换为JSON,请使用JSON.stringify

 var json_text = JSON.stringify(your_object, null, 2); 

将数组编码为JSON,然后使用Ajax请求发送它。 要在PHP中解码JSON,请使用json_decode

将它转换为json会更好