如何更正window.localStorage的此错误?

时间:2016-04-06 08:34:16

标签: javascript jquery cordova local-storage

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

  

JavaScript错误:TypeError:' null'不是一个对象(评估' 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";
        }
    });
});

3 个答案:

答案 0 :(得分:0)

在您的情况下,“用户名”为 null ,请查看console.log(username);

答案 1 :(得分:0)

我在野生动物园遇到了这个问题。我的问题是,有时我的网站会作为iframe加载。当用户使用完iframe后,我将使用“ window.close()”将其关闭。如果我的网站不是iframe,我忘记删除此代码。在旧版本的safari(cordova Webview)中,这将使窗口保持打开状态并删除localStorage。

答案 2 :(得分:-2)

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

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