Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用$.ajax发送多个数据-失败_Jquery_Ajax_Arrays_Object_Serialization - Fatal编程技术网

Jquery 使用$.ajax发送多个数据-失败

Jquery 使用$.ajax发送多个数据-失败,jquery,ajax,arrays,object,serialization,Jquery,Ajax,Arrays,Object,Serialization,我有一个可排序的有序列表,并对其使用nestedSortable。 它是有效的。 但是现在我想向ajax请求添加一些数据,但是失败了 var sorted = $('ol.sortable').nestedSortable("serialize"); var dataUrl = {}; $( "ol.sortable li" ).each(function( index ) { //console.log( $( this ).attr("id").replace(/\D/g, '')

我有一个可排序的有序列表,并对其使用nestedSortable。 它是有效的。 但是现在我想向ajax请求添加一些数据,但是失败了

var sorted = $('ol.sortable').nestedSortable("serialize");
var dataUrl = {};
  $( "ol.sortable li" ).each(function( index ) {
  //console.log( $( this ).attr("id").replace(/\D/g, '') + ": " + $( this ).attr("data-url") );
  dataUrl[$( this ).attr("id").replace(/\D/g, '')] = $( this ).attr("data-url");
});

$.ajax({
  type: "POST",
  data: {sort: sorted, dataurl: dataUrl},
现在的问题是,当我尝试使用PHP foreach循环时,第一次数据“排序”失败。 该数据现在是一个字符串。 第二部分“dataurl”是一个对象,我可以使用foreach对其进行迭代

我什么时候可以更改订单

data: {dataurl: dataUrl, sort: sorted}
然后突然,我的dataurl变成了一个字符串,“sort”变成了一个对象

我还尝试设置数据类型:JSON,但这并没有改变任何事情


我做错什么了吗?这是一个bug吗?

以下是我的方法:

var sorted = $('ol.sortable').nestedSortable("serialize");
var dataUrl = {};
$( "ol.sortable li" ).each(function( index ) {
  //console.log( $( this ).attr("id").replace(/\D/g, '') + ": " + $( this ).attr("data-url") );
  dataUrl[$( this ).attr("id").replace(/\D/g, '')] = $( this ).attr("data-url");
});

var sendedData = {};
sendedData.sort = sorted;
sendedData.dataurl = dataUrl;
$.ajax({
    url: 'myFile.php',
    type: 'POST',
    dataType: 'json',
    data: sendedData,
    success: function(result) {
        // Add your own logic here
    }
});