首页 > 解决方案 > sessionStorge 上的数据集在同一选项卡的其他页面上不可用

问题描述

更新:已解决
大家好,感谢您的支持。最后我发现了问题所在。这是同源问题。
==================================================== ===================**

我已经设置了一些数据,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;


}

请帮我解决这个问题。谢谢你。

标签: javascripthtmldomsession-storage

解决方案


会话存储仅限于特定选项卡。会话存储中的数据可以在应用程序运行选项卡中访问,因此如果您尝试在另一个选项卡中访问它,那么您将得到它未定义或数据不存在。

相反,如果您有大数据,您可以使用本地存储,否则对于较小的数据,您也可以使用 cookie。


推荐阅读