我在heroku中遇到了这个不寻常的问题,我正在使用Javascript fetch从PHP后端加载一些会话数据。
php文件如下所示,
<?php
session_start();
header('Content-Type: application/json');
$data = json_encode($_SESSION['data']);
print_r($data);
并使用Javascript 进行调用
fetch('./data.php')
.then(function(response) {
return response.json()
}).then(function(json) {
console.log('parsed json', json)
}).catch(function(ex) {
console.log('parsing failed', ex)
})
当我从浏览器加载数据时,控制台上的输出是解析的json-null
但是,当我通过直接访问在浏览器上加载相同的data.php时,它会在浏览器上很好地打印数据。
我做错了什么,让它在使用ajax进行调用时以两种不同的方式表现——不工作,让它直接转到文件时工作?感谢
我已经执行了您的代码,但得到了null答案,因为目前,我在会话数据变量中没有任何数据
因此,我猜您的会话数据工作不正常,请尝试先在应用程序中单独打印会话数据,然后再尝试执行此代码。