Набор данных на sessionStorge недоступен на другой странице на той же вкладке - PullRequest
1 голос
/ 10 июня 2019

ОБНОВЛЕНИЕ: Решено
Привет, ребята, спасибо за поддержку.Наконец-то я разобрался с проблемой.Это было с проблемой того же происхождения.
=================================================================== **

Я установил некоторые данные на 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;


}

Пожалуйста, помогите мне исправить это.Спасибо.

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Согласно W3C Schools:

Объект sessionStorage хранит данные только для одного сеанса (данные удаляются при закрытии вкладки браузера).

См .:https://www.w3schools.com/jsref/prop_win_sessionstorage.asp.

Следовательно, ожидается, что данные в sessionStorage доступны только для вкладки, которая устанавливает данные.Если вы хотите, чтобы данные были доступны на вкладках, вам нужно будет рассмотреть другие варианты, например localStorage, хотя localStorage не удаляет данные после закрытия вкладки (т. Е. Сеанса).

1 голос
/ 10 июня 2019

Сеанс хранения ограничен конкретной вкладкой.Данные в хранилище сеансов доступны на вкладке работающего приложения, поэтому, если вы пытаетесь получить к ним доступ на другой вкладке, вы получите их как неопределенные или данные не существуют.

Вместо этого вы можете использовать локальное хранилище.если у вас есть большие данные, в противном случае вы можете использовать куки.

...