Javascript 无法通过AJAX将数组发送到php?

Javascript 无法通过AJAX将数组发送到php?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我回答了这个问题,但无法将数组发送到php,因为它返回的总是空的: JS: console.log(值)显示数组是否正常 PHP代码: <?php var_dump(json_decode($_POST["values"])); exit; 您将值定义为数组,因此当您对其进行字符串化时,将得到一个空数组。将其定义为一个对象,如values={}和它将工作 在javascript中不使用关联数组,因为 如果使用命名索引,JavaScript会将数组重新定义为 标准对象。之后,将显示一些

我回答了这个问题,但无法将数组发送到php,因为它返回的总是空的:

JS:

console.log(值)
显示数组是否正常

PHP代码:

<?php

var_dump(json_decode($_POST["values"])); exit; 

您将
值定义为数组,因此当您对其进行字符串化时,将得到一个空数组。将其定义为一个对象,如
values={}和它将工作

在javascript中不使用关联数组,因为

如果使用命名索引,JavaScript会将数组重新定义为 标准对象。之后,将显示一些数组方法和属性 产生错误的结果

这就是为什么您需要在开始时将其定义为对象

values = {};
values['mpsRegnomer'] = $('#mpsRegnomer').val();
values['mpsMarka'] = $('#mpsMarka').val();
values['mpsMarkaOther'] = $('#mpsMarkaOther').val();
这是一个正在工作的JSFIDLE。

您将
值定义为一个数组,因此当您将其字符串化时,将得到一个空数组。将其定义为一个对象,如
values={}和它将工作

在javascript中不使用关联数组,因为

如果使用命名索引,JavaScript会将数组重新定义为 标准对象。之后,将显示一些数组方法和属性 产生错误的结果

这就是为什么您需要在开始时将其定义为对象

values = {};
values['mpsRegnomer'] = $('#mpsRegnomer').val();
values['mpsMarka'] = $('#mpsMarka').val();
values['mpsMarkaOther'] = $('#mpsMarkaOther').val();
这是一个正在工作的JSFIDLE。

您不需要
JSON.stringify(values)
而是
data:{values:values}
您可以将JSON.stringify值添加到question@Cid使用
data:{“values”:values}
data:{values:values}
var\u dump($\u POST)
仍然为空,您不需要
JSON.stringify(values)
data:{values:values}
能否将JSON.stringify值添加到question@Cid使用
data:{“values”:values}
data:{values:values}
var\u dump($\u POST)
仍然为空您是对的,它可以处理对象,但是如何使ti与数组一起工作?为什么需要它是数组而不是对象?javascript中的关联数组是对象,因此可以使用对象
如果使用命名索引,JavaScript会将数组重新定义为标准对象。之后,一些数组方法和属性将产生不正确的结果。
我不需要它,我只是好奇:)你是对的,它与对象一起工作,但我如何使ti与数组一起工作?为什么你需要它是数组而不是对象?javascript中的关联数组是对象,因此可以使用对象
如果使用命名索引,JavaScript会将数组重新定义为标准对象。之后,一些数组方法和属性将产生不正确的结果。
我不需要它,我只是好奇:)