开发者问题收集

如何纠正 window.localStorage 的这个错误?

2016-04-06
3162

我想使用 window.localStorage.setItem 保存数据,但我发现此错误:

JavaScript ERROR: TypeError: 'null' is not an object (evaluating 'window.localStorage.setItem')

在我的 connexion.js 中

$("#btn-connexion").on('click', function() {    
    var username = $('#Identifiant').val();
    var password = $("#mdp").val();         

    console.log("********username*******password****");
    console.log(username);

    $.ajax({
        "url": serverPath + "/taxiws/clients/login/password/" + username + '/' + password,
        "type": "GET",
        "dataType": "json",
        "success": function(data) {
            console.log("****Resultat****");
            console.log(JSON.stringify(data));                   

            window.localStorage.setItem("login", username);
            window.localStorage.setItem('password', password);
            window.location.href = "reservationclient.html";
        }
    });
});
2个回答

我在 Safari 上遇到了这个问题。我的问题是,有时我的网站会以 iframe 的形式加载。当用户使用完 iframe 后,我会使用“window.close()”将其关闭。如果我的网站不是 iframe,我忘记删除此代码了。在旧版本的 Safari(cordova webview)上,这会使窗口保持打开状态并删除 localStorage。

tanner burton
2019-05-22

您需要使用以下代码检查浏览器是否支持 localStorage

if(typeof(Storage) !== "undefined") {
    // Code for localStorage/sessionStorage.
} else {
    // Sorry! No Web Storage support..
}
Webdev
2016-04-06