类似于 iBlue 的评论,你可以发送一个带有 post 的对象;您不必在 post 函数{ }
中定义对象,只是定义对象的分隔符,类似于 PHP 关联数组:
$.post('reciever.php', myData, function(data){ /*callback*/ });
唯一的事情是您将 myData 设置为如下对象:
myData = {
0: 'info',
1: 'info'
}
//or even something like this
myData = {
someProp: 'info',
someProp2: {
anotherProp: 'moreInfo'
}
}
您还可以对对象使用非数字索引,并轻松添加属性:
myData[2] = 'info';
或者您可以循环遍历它,只是方式略有不同:
for(i in myData){
myData[i]; //Do something with myArr[i]
}
该for in
循环还将遍历非数字属性。您仍然可以通过以下方式获取 myData 的长度
myData.length;
编辑:
而不是发送字符串:
IDs = {}
Names = {}
for(var i = 0; i < result.data.length; i++){
IDs[i] = result.data[i].id;
Names[i] = result.data[i].name;
}
$.post('reciever.php', {IDs: IDs, Names: Names}, function(data){});
在 PHP 文件中,您可以像这样访问它们
$_POST['IDs'][0] = "some id";
$_POST['Names'][0] = "some name";
编辑:
Actaully 我认为索引是作为字符串发送的,所以可能必须这样做
$_POST['IDs']['0']