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
Javascript jQuery post数组_Javascript_Jquery - Fatal编程技术网

Javascript jQuery post数组

Javascript jQuery post数组,javascript,jquery,Javascript,Jquery,我想知道如何使用$.ajax发布一个数组。我的数组是这样的: var a = new Array(); a['test'] = 1; a['test2'] = 2; and so on... $_POST['test']; $_POST['test2']; 我试过: $.ajax({ url: baseUrl+"chat.php", data: { vars: a}, type: 'post', success: function(data) { alert(data); }

我想知道如何使用$.ajax发布一个数组。我的数组是这样的:

var a = new Array();
a['test'] = 1;
a['test2'] = 2;
and so on...
$_POST['test'];
$_POST['test2'];
我试过:

$.ajax({
  url: baseUrl+"chat.php",
  data: { vars: a},
  type: 'post',
  success: function(data) {
alert(data);
}});
有什么建议吗?

试试这个:

var a = {};
a['test'] = 1;
a['test2'] = 2;

// or


var a = {};
a.test = 1;
a.test2 = 2;

// or


var a = {
    test : 1,
    test2 : 2
};

$.ajax({
  url: baseUrl+"chat.php",
  data: a,
  type: 'post',
  success: function(data) {
    alert(data);
  }
});
然后,您可以访问PHP脚本中的数据,如下所示:

var a = new Array();
a['test'] = 1;
a['test2'] = 2;
and so on...
$_POST['test'];
$_POST['test2'];

下面是我如何传递数组的示例(来自实际代码):

然后在服务器端:

$cartID = $_POST['CartID'];
$manufacturers = $_POST['Manufacturers'];
$partNumbers = $_POST['PartNumbers'];
我用了这个:

var newArray = new Array();
newArray.push("item1");
newArray.push("item2");
newArray.push("item3");

$.ajax({  
    type: "POST",
    url: urlToPost,
    data: JSON.stringify(newArray),
    contentType: "application/json"
   });

我更喜欢这样做:

服务器端(PHP):
$\u POST['test1']
$\u POST['test2']

最短版本

$.post(url, { 'test[]': myArray });

服务器端:
$myArray=$\u POST['test']

看起来没有什么明显的错误,您是如何尝试访问php中的数据的?您是否使用了某种流量监视来确保呼叫到达chat.php页面?是否有一种方法可以以
元素的样式执行此操作,其中name字段为
test[]
并且数组索引是自动递增的?@Kevin_TA,只需使用
{test:[“array”,“of”,“values”]}
作为
$的
数据
参数。ajax
。它将被序列化为
test[]=array&test[]=of&test[]=values
“a”是一个对象,而不是本例中的数组。任何订单都将丢失。@sivann这正是OP想要的。他的
a
数组实际上只是一个对象。@IonuțG.Stan它不是一个对象,它说的是new array()。现在,如果这个解决方案对他合适,那就另当别论了:-)