所以基本上这里是我用于创建数组的 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 -
<div class="setting">
<span rel="Variable">Variable</span>
<span rel="Item">Item</span>
<span rel="Something">Something</span>
</div>
<div>
<span rel="Smth">Smth</span>
<span>Sec</span>
</div>
<div class="setting">
<span>Second</span>
<span rel="first">First</span>
<span rel="Third">Third</span>
</div>
它工作得很好并显示了两个数组 - 一个有 3 个元素,一个有两个,但是当我尝试通过 ajax 将它传递给 PHP 文件时,ti 给了我 [object Object] with 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);
在php端输出,它输出空字符串。