更新:已解决
大家好,谢谢你们的支持。最后我想通了这个问题。这是同源问题。
================================================ ==================**
我已经在 sessionStorage
上设置了一些数据,并且我有一些按钮可以在同一选项卡上加载另一个页面。
我的问题是我看不到保存在 sessionStorage
上的数据。
在调试控制台上,它显示 sessionStorage
是空的。
此函数在sessionStorage
上设置数据
function requestDriverListings() {
var drivers = {};
sendUserData ({}, "request driver.php", function (request) { listDrivers(request,drivers); console.log(drivers); displayDrivers(drivers);});
sessionStorage.setItem("drivers", JSON.stringify(drivers.a));
}
此函数在页面加载时执行——“其他页面”
function driverProfile () {
var driverId = sessionStorage.getItem("requestedDriver");
var driver = sessionStorage.getItem("drivers");
driver = JSON.parse(driver);
console.log(driver);
driver = driver.driverId;
document.getElementById("driverName").innerHTML = driver.name;
document.getElementById("driverVehicle").innerHTML = driver.driverVehicle;
document.getElementById("driverLocation").innerHTML = driver.driverLocation;
//document.getElementById("driverDetails").innerHTML = driver.driverDetails;
}
请帮我解决这个问题。 谢谢。
最佳答案
session 存储仅限于特定选项卡。 Session Storage 中的数据可在应用程序运行选项卡中访问,因此如果您尝试在另一个选项卡中访问它,那么您将获得未定义或数据不存在的结果。
如果您的数据量很大,您可以使用本地存储;如果数据量较小,您也可以使用 cookie。
关于javascript - sessionStorge 上的数据集在同一选项卡的另一页上不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528566/