我想知道如何使用$ .ajax发布数组。我的数组是这样的:
var a = new Array();
a['test'] = 1;
a['test2'] = 2;
and so on...
我试过了:
$.ajax({
url: baseUrl+"chat.php",
data: { vars: a},
type: 'post',
success: function(data) {
alert(data);
}});
有什么建议吗?
答案 0 :(得分:36)
试试这个:
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脚本中的数据:
$_POST['test'];
$_POST['test2'];
答案 1 :(得分: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"
});
答案 2 :(得分:3)
我更喜欢这样做:
即
var data = [{ name: 'test1', value: 'test data' }, { name: 'test2', value: 'test data' }];
$.ajax({
type: 'POST',
url: 'url',
data: data,
});
服务器端(PHP):$_POST['test1'];
$_POST['test2'];
答案 3 :(得分:2)
以下是我如何传递数组(来自现实代码)的示例:
$.ajax({
type: 'POST',
url: url,
data: { CartID : cartID, 'Manufacturers[]' : manufacturers, 'PartNumbers[]' : partNumbers },
success: function(res)
{
...
},
dataType: "json",
async: false
});
然后在服务器端:
$cartID = $_POST['CartID'];
$manufacturers = $_POST['Manufacturers'];
$partNumbers = $_POST['PartNumbers'];
答案 4 :(得分:0)
最短版本
$.post(url, { 'test[]': myArray });
服务器端:$myArray = $_POST['test'];