PHP Javascript - сохранить localStorage на PHP session_destroy - PullRequest
0 голосов
/ 25 мая 2018

У меня странное (для меня) поведение относительно использования PHP session_destroy(), используемого для выхода из системы, и JS localStorage, используемого для предотвращения непрерывного запроса ajax к БД.

Итак.Мой текущий (и работающий) сценарий:

  1. В форме входа PHP делает session_start() -> браузер пишет куки с PHPSESSID ( нет localStorage в данный момент );
  2. После входа в систему, ЕСЛИ localStorage.getItem('myDataItem') === null, данные запрашиваются один раз (ajax) и записываются с localStorage.setItem('myDataItem', 'Hi, I'm your ajax response').Если localStorage.getItem('myDataItem') !== null не делать отметки;

Код:

if(localStorage.getItem('myDataItem') === null){
    $.ajax({
        url: 'ajax.php', 
        type:'post', 
        data:{request: 'dbInfo'}
     }).done(function(jsonObjectResponse){
            localStorage.setItem('myDataItem', JSON.stringify(jsonObjectResponse))
     });
}
При выходе из кликающего элемента браузер запускает функцию с ajax-запросом, который выполняет PHP session_destroy(), выполняет JS location.reload() и перезапускается из формы входа;

Код:

$("#logout_element").on('click', function(){
    $.ajax({
        url: 'ajax.php', 
        type:'post', 
        data:{request: 'logout'} /*ajax PHP do a session_destroy()*/
     })
    .done(function(){
        location.reload();
    });
});

Пока что все (F5 / обновление) исправно, если бы не выход из системы / session_destroy (), localStorage исчезает


Моя цель

сохранить localStorage даже после session_destroy ()

Best,

Oscar

...