Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Jquery 通过ajax将数组传递给php?_Jquery - Fatal编程技术网

Jquery 通过ajax将数组传递给php?

Jquery 通过ajax将数组传递给php?,jquery,Jquery,我有这个数组 var car = new Array(); car['brand'] = "Ford"; car['color'] = "red"; car['type'] = 1; 现在,我尝试发送这个,但php只告诉我car是一个未定义的索引: $.post('regCar.php', { "car[]": car }, function(data) { // some other lol here ... }); 发送“car[]”:[“Ford”,“red”,1]效果很好

我有这个数组

var car = new Array();
car['brand'] = "Ford";
car['color'] = "red";
car['type'] = 1;
现在,我尝试发送这个,但php只告诉我car是一个未定义的索引:

$.post('regCar.php', { "car[]": car }, function(data) {

    // some other lol here ...

});
发送
“car[]”:[“Ford”,“red”,1]
效果很好:(如何将关联数组传递给php?

读取和

如果在PHP端遇到未定义的错误,则需要发布PHP代码

编辑


正如@Felix Kling所指出的,放弃数组而选择对象将对您有效。

正如我在评论中提到的,您可以。仅将数组用于数值索引:

不允许使用关联的
数组
。或者更准确地说,不允许对数组使用非数字索引。如果需要映射/哈希,请在这些情况下使用
对象
而不是
数组
,因为您需要的特征实际上是
对象
的特征,而不是
数组
的特征e> 恰好扩展了
对象
(与JS中的任何其他对象一样,因此您也可以使用
Date
RegExp
String

这正是代码不起作用的原因

:警报为空表示jQuery根本没有序列化(因此也没有发送)任何数据

人们可能期望它至少会发送一个空值,比如
car[]=
,但显然它不会

如果使用对象:

var car = {};

。制作
打印($\u POST)
然后查看您得到了什么。您正在将数据从php发送到ajax,但您的标题与that@diEcho:不,他正在用jQuery将数据发送到一个PHP脚本。现在,我尝试发送这个,但PHP只告诉我car是一个未定义的索引…你的问题搞错了。什么?我在$\u POST上运行了一个打印,它是空的!!regCar.PHP',{car':car},函数(数据)是语法:(@Jason94:Where-you-define
car
?您可以发布更多的代码吗?从您调用
$的地方是否可以访问
car
?post
?console.log(car)是什么就在Ajax调用给你之前?然而,问题可能真的是你使用的是数组而不是对象。因为他想从jQuery向PHP发送数据,而发送
car
不起作用。PHP函数在这里也帮不了他。@Felix,看起来像。我在某个地方读到JS实际上没有associated数组,它会无声地转换为对象。所以对象似乎是一种方式
var car = {};
car.brand = "Ford";
car.color = "red";
car.type = 1;
var car = {};