Javascript 阿贾克斯赢了';t将数组发布到控制器
在为我的divs设置了一个新的data-order\u项目之后,我尝试使用data-order和data-id向我的控制器发布一个数组:Javascript 阿贾克斯赢了';t将数组发布到控制器,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,在为我的divs设置了一个新的data-order\u项目之后,我尝试使用data-order和data-id向我的控制器发布一个数组: var counter = 0; item_cnt = new Array(); cnt.find('.item_incompleted').each(function(){ counter += 1; $(this).attr("data-order_item", counter); item_element = new
var counter = 0;
item_cnt = new Array();
cnt.find('.item_incompleted').each(function(){
counter += 1;
$(this).attr("data-order_item", counter);
item_element = new Array();
item_element['order'] = $(this).attr("data-order_item");
item_element['item_id'] = $(this).attr("data-item_id");
item_cnt.push(item_element);
});
url = cnt.attr('data-order_route');
$.ajax({
type: "POST",
url: url,
data: item_cnt,
});
通过控制台日志记录项_cnt,数组是正常的,但是,通过控制器中的var_dumping$_POST,数组是空的,似乎根本没有发布数组 检查开发人员控制台中的“网络”选项卡,看看sentI是否做了什么,但没有发送任何内容,我不知道为什么。在通过ajax发送之前,必须将数组转换为json。然后在PHP站点上,您需要将json转换回来。1. <代码>项元素应该是
对象
,而不是数组
2<代码>数据必须是具有键值对的对象或正确编码的查询字符串它可以创建对象,谢谢!