通过jquery推送javascript数组

通过jquery推送javascript数组,javascript,php,jquery,arrays,Javascript,Php,Jquery,Arrays,我需要将javascript数组传入jquery,但我的代码只返回[object] $( "#enviar" ).click(function() { var data = {}; var i = 0; var u = -1; $.each($('.ui'), function() { data[i] = this.value; i++; });

我需要将javascript数组传入jquery,但我的代码只返回[object]

$( "#enviar" ).click(function() {
        var data = {};
        var i = 0;
        var u = -1;

        $.each($('.ui'), function() { 
            data[i] = this.value; 
            i++;
        });

        console.log(data);

        $.ajax({ 
                type: "POST",
                url: "send_car.php",
                data: "photo="+data+"&u="+u,
                success: function(data){

                }//end success  
            })//end ajax submit*/   
});
控制台日志正在显示阵列

Object {0="d-170", 1="d-171"}
但数据正在作为[对象]传递

ui类是具有相同名称和不同值的隐藏输入


我读过很多文章,并尝试了serialize,但我得到了相同的结果

您连接的是一个对象和一个字符串,但是jQuery支持直接传入数组和对象,所以只需使用它即可

$.ajax({ 
      type: "POST",
      url: "send_car.php",
      data: { 
          photo : data, 
          u     : u
      },
      success: function(data){

      }
});
你所做的是

var obj  = {key : "value"};

var data = "test" + obj;
当你把一个对象添加到一个字符串中时,它们都变成了字符串,对象的字符串表示形式是
[object,object]