我需要从 JS 向 PHP 传递一个 json 对象,它会传递,但结果是一个空数组。
“adopt.php”中的 Ajax 请求:
var info = JSON.stringify(filteredArray);
$.ajax({
type: 'POST',
url: 'ajax.php',
data: {'info': info},
success: function(data){
console.log(data);
}
});
ajax.php代码:
if(isset($_POST['info'])){
$_SESSION['array'] = $_POST['info'];
}
回到领养.php,稍后:
if(isset($_SESSION['array'])){
$arr = $_SESSION['array'];
echo "console.log('information: ' + $arr);";
}
在两个console.logs中,它都返回一个空对象。有谁知道这可能是什么原因造成的? (我尝试过只传递 json 而不对其进行字符串化,但每当我这样做时它都会抛出 jquery 错误。)
最佳答案
尝试下面的代码,我认为你错过了返回 ajax 响应
采用.php
<script>
var info = JSON.stringify(filteredArray);
$.ajax({
type: 'POST',
url: 'ajax.php',
data: {info: info},
success: function(data){
console.log(data);
}
});
</script>
ajax.php
if (isset($_POST['info'])) {
$_SESSION['array'] = $_POST['info'];
echo json_encode(["result" => "success"]);
}
关于php - Ajax Post 到 PHP 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870279/