localStorage getItem является нулем, после setItem - PullRequest
0 голосов
/ 05 ноября 2018

При загрузке страницы будет вызываться функция init_table , а btn "#csv" будет связывать функцию щелчка. После нажатия кнопки #csv и распечатки 'export2csv' в localStorage, это ноль , но иногда это работает, почему?

function init_table() {
    var url = 'http://localhost:3000/api/feature/featureInFbpGet?nameInFB=UL PHY';
    localStorage.setItem('export2csv', url);
    console.log(localStorage.getItem('export2csv'));//could print the value   
    table = $('#example').DataTable({
    ajax:{url: url}}).draw();
    //...... some operation
    });
}

$('#csv').click(function(e){
        e.preventDefault();
        console.log('2.export2csv', localStorage.getItem('export2csv'));// here will print null
        var opencsv = window.open('./html/other/feature_statement_csv.html');
        // setTimeout(function(){opencsv.close();}, 5000);
    });

1 Ответ

0 голосов
/ 05 ноября 2018

Вам нужно вызвать функцию init_table при загрузке страницы, просто она, сидящая там, не вызовет ее сама по себе:)

function init_table() {
    var url = 'http://localhost:3000/api/feature/featureInFbpGet?nameInFB=UL PHY';
    localStorage.setItem('export2csv', url);
    console.log(localStorage.getItem('export2csv'));//could print the value   
    table = $('#example').DataTable({
    ajax:{url: url}}).draw();
    //...... some operation
    });
}
// Call the init_table function when the page loads
init_table();

$('#csv').click(function(e){
        e.preventDefault();
        console.log('2.export2csv', localStorage.getItem('export2csv'));// here will print null
        var opencsv = window.open('./html/other/feature_statement_csv.html');
        // setTimeout(function(){opencsv.close();}, 5000);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...