【问题标题】:How to correct this error for window.localStorage?如何纠正 window.localStorage 的这个错误?
【发布时间】:2016-07-26 12:49:41
【问题描述】:

我想使用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";
        }
    });
});

【问题讨论】:

  • 请不要将用户名和密码作为纯文本 URL 的一部分发送。这是一个大规模安全问题。
  • 正如@Rory McCrossan 所说 - 这是一个安全风险 - 永远不要存储密码 oim localStorage - 非常不安全
  • 请帮我解决我的问题
  • 最好将formsubmit 表单中的所有控件都带回服务器进行处理。
  • 你能发布你的 HTML 代码吗?

标签: javascript jquery cordova local-storage


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-18
      • 2016-06-23
      • 1970-01-01
      • 2021-09-11
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      相关资源
      最近更新 更多