我正在尝试使用ajax将数组从javascript发送到php。我的问题是 PHP 中的数组是空的,我不知道为什么。
我的数组:vacio['num1:1','num2:2'....]
这是我的javasvascript:
var vacio = new Array;
vacio = addElementAttributesToArrayEncode();
var miJSON = JSON.stringify(vacio);
var miAjax = new Request({
type: "POST",
url: "/multyWeb/actions/maintenance/mUpdateProductAction.php",
data: "ark=" + miJSON,
onSuccess: function(textoRespuesta){
console.log("ok");console.log(textoRespuesta);
},
onFailure: function(){
console.log("fallo");
}
})
miAjax.send();
这是我的 php:
if($_POST){
echo "recibo algo POST Producto";
//recibo los datos y los decodifico con PHP
$str = json_decode($_POST['ark'], true);
echo json_encode($str); }
else { echo "Error del POST";}
数组 $str 为空...出了什么问题?
谢谢
最佳答案
修改您的 ajax 调用并将内容类型设置为 json 并将数据作为 json 发送,而不是对其进行字符串化。
var miAjax = new Request({
type: "POST",
url: "/multyWeb/actions/maintenance/mUpdateProductAction.php",
contentType: "application/json"
data: {'data':miJSON},
onSuccess: function(textoRespuesta){
console.log("ok");console.log(textoRespuesta);
},
onFailure: function(){
console.log("fallo");
}
})
miAjax.send();
关于javascript - 使用Ajax从javascript发送数组到php,不使用表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041079/