【问题标题】:Phone GAP SessionStorage电话 GAP 会话存储
【发布时间】:2011-06-03 19:46:35
【问题描述】:

我正在使用手机 GAP 开发 iPhone 应用程序。在我的应用程序中,我们正在使用外部数据库。用户使用 Web 服务登录,我需要在登录后存储用户 ID。我如何使用手机 GAP 存储用户 ID。我可以为此使用手机 GAP 会话存储?可能吗?

知道的人请帮忙

谢谢, 伴侣。

【问题讨论】:

    标签: iphone cordova


    【解决方案1】:

    您可以尝试lawnchair 将数据存储为 JSON。

    【讨论】:

    • 这样做的附带好处是,您可以轻松移植到不一定支持特定离线存储机制的其他 PhoneGap 平台。 Kris 下面的建议是正确的(我赞成!),但更强大的解决方案是使用 Lawnchair 以供将来在其他平台上使用该应用程序。
    【解决方案2】:

    Lawnchair 可能只是为了存储和 ID 有点矫枉过正,只需使用 HTML5 local storage

    【讨论】:

      【解决方案3】:

      您在 Phonegap 中确实没有“会话”的概念 - 您有 HTML5 localStorage 来存储持久数据(想想“应用程序范围”):

      var userId = localStorage.getItem("userId");
      if (userId==null || userId==0) {
          jQT.goTo("#login"); 
      }
      

      登录用户:

      $('#btnLogin').click(function(){
      $("#loginFailure").hide();
      $.getJSON(svcUri + "authenticate.cfm?username="+$("#username").val()+"&password="+$("#password").val() + "&callback=?",function(data) {
        localStorage.setItem("userId",data.userid);
        userId = data.userid;
        if (data.userid != 0) {
         // do some tasks after logging in
         jQT.goTo('#travelz');  
        } else {
         $("#loginFailure").show();
        }
        });
       return false;
      

      });

      【讨论】:

      • 使用 GET 请求不是登录的方式。它太脆弱了。改为使用 POST 请求,通过 SSL 以确保安全。
      • “Phonegap 中你真的没有“会话”的概念”——这是不正确的
      【解决方案4】:

      这里一个SessionStorage的概念。它的工作方式与 localStorage 相同,但每次关闭应用程序时都会被删除

      var keyName = window.sessionStorage.key(0); //Get key name
      window.sessionStorage.setItem("key", "value"); //Set item
      var value = window.sessionStorage.getItem("key");// Get item
      window.sessionStorage.removeItem("key"); //Remove Item 
      window.sessionStorage.clear();//Clear storage
      

      【讨论】:

        【解决方案5】:

        你可以这样设置会话存储

        var userid = 10;
        sessionStorage.setItem('UserId',userid);
        

        你会得到这样的会话变量

        var data = sessionStorage.getItem('UserId');
        

        注意:此变量将在关闭应用程序后重置,但如果您想保存在 localstorage 上,则需要 localStorage 函数,该函数在关闭应用程序后不会重置

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-07-06
          • 2013-03-31
          • 2011-10-03
          • 2017-06-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多