我试图使用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是空的......出了什么问题?
感谢
答案 0 :(得分:2)
修改你的ajax调用并将内容类型设置为json并将数据发送为json而不是stringify它。
test
答案 1 :(得分:0)
应该在第一个例子中使用jQuery
$.post('/multyWeb/actions/maintenance/mUpdateProductAction.php', {'param':'value','param1':'value1'}, function(data){
return;
});
OR
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();