jQuery post数组

Ale*_*art 20 javascript jquery

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

var a = new Array();
a['test'] = 1;
a['test2'] = 2;
and so on...
Run Code Online (Sandbox Code Playgroud)

我试过了:

$.ajax({
  url: baseUrl+"chat.php",
  data: { vars: a},
  type: 'post',
  success: function(data) {
alert(data);
}});
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Ion*_*tan 37

试试这个:

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);
  }
});
Run Code Online (Sandbox Code Playgroud)

然后,您可以像下面这样访问PHP脚本中的数据:

$_POST['test'];
$_POST['test2'];
Run Code Online (Sandbox Code Playgroud)

  • @Kevin_TA,只需使用`{test:["array","of","values"]}`作为`$ .ajax`的`data`参数.它将被序列化为`test [] = array&test [] = of&test [] = values`. (3认同)

小智 9

我用过这个:

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"
   });
Run Code Online (Sandbox Code Playgroud)


Tom*_*Tom 5

我更喜欢这样做:

IE。

var data = [{ name: 'test1', value: 'test data' }, { name: 'test2', value: 'test data' }];

$.ajax({  
    type: 'POST',
    url:  'url',
    data: data,
   });
Run Code Online (Sandbox Code Playgroud)

服务器端(PHP): $_POST['test1']; $_POST['test2'];