Javascript 如何修复通过ajax将JS数组传递给PHP的问题
我有两个文件,game.js和gallery.php。所以我一直在尝试通过ajax将一个数组从game.js发送到gallery.php。我已附上我尝试的代码,如下所示: game.js:Javascript 如何修复通过ajax将JS数组传递给PHP的问题,javascript,php,ajax,Javascript,Php,Ajax,我有两个文件,game.js和gallery.php。所以我一直在尝试通过ajax将一个数组从game.js发送到gallery.php。我已附上我尝试的代码,如下所示: game.js: imgarray.push({"img_name":img_name,"x":x_value,"y":y_value,"w":w_value,"h":h_value}); var st = JSON.s
imgarray.push({"img_name":img_name,"x":x_value,"y":y_value,"w":w_value,"h":h_value});
var st = JSON.stringify(imgarray);
$.ajax({
url: "gallery.php",
method: "POST",
data: { data :st},
success: function(data){
console.log(st);
alert("OK");
}
});
gallery.php:
<?php
$data = json_decode(stripslashes($_POST['data']));
foreach($data as $d){
echo $d;
}?>
因此,在上面的代码中,当我运行它时,在game.js的控制台日志中,我可以打印数组。但是,当我试图在gallery.php中获取数组并打印它时,它抛出了一个错误,表示st_img未定义,它生成的回音为NULL
有人能帮我解决这个问题吗。您正在game.js中的success回调中记录
st
,这是ajax调用之前的变量,因此它不会告诉您服务器是否做了您想要的事情。记录数据
这是服务器响应。您确定您的PHP脚本引发异常吗?我不是PHP专家,但是访问$\u POST
散列中缺少的属性不应该引发异常。。。如果它这样做了,它甚至无法到达下一行,您声称它打印了NULL
@weltschmerz我尝试使用日志数据,现在它抛出一个错误=>“未捕获错误:stdClass类的对象无法转换为字符串”