【问题标题】:How to set and read cookie value using Java如何使用 Java 设置和读取 cookie 值
【发布时间】:2016-11-06 18:42:45
【问题描述】:

我正在开发一个移动应用程序,我使用 HTML 5、Ajax、jQuery 和 CSS 构建它。
我编写了以下代码来存储登录的用户 ID 和名称;

<script>
    document.cookie = "id="+"1";
    document.cookie = "name="+"Demo Name";
</script>

我还编写了这个函数来使用它的名称读取 cookie 的值;

function readCookie(name) {
    name += '=';
    for (var ca = document.cookie.split(/;\s*/), i = ca.length - 1; i >= 0; i--)
        if (!ca[i].indexOf(name))
            return ca[i].replace(name, '');
}

我调用下面的方法将登录用户的名字读入一个名为name的变量中;

var name = readCookie('name'); 

上面的代码在 Web 浏览器上测试时运行良好,但是当我尝试在移动应用程序中运行它(使用 Phonegap 编译)时,var name 返回“undefined”,这意味着脚本无法读取cookie 值..

请任何人都可以在这里帮助我!

我不知道我做了什么,或者是否遗漏了什么。

我需要使用 cookie 来验证我的移动应用中的登录用户。

谢谢

【问题讨论】:

    标签: javascript java android cordova cookies


    【解决方案1】:

    在Phonegap 上document.cookie 为空,因为index.html 和所有其他文件都使用file:// 协议加载。 Phonegap 在内部管理 cookie,但不公开任何清除它们的函数。

    你可能想看看插件:

    https://github.com/bez4pieci/Phonegap-Cookies-Plugin

    插件的工作原理如下:

    window.cookies.clear(function() {
        console.log('Cookies cleared!');
    });
    

    【讨论】:

    • 这对我不起作用。我想要的是一个可以设置cookies的解决方案,并在webview中读取cookies的值。清除 cookie 不是问题,因为我总是可以将其设置为空值
    【解决方案2】:

    经过长时间的挖掘,我找到了解决方案...
    Cookie 不适用于移动应用程序(使用 webview 或类似应用程序),因此我使用了本地存储。

    为了存储我的数据,我使用了

    window.localStorage.setItem("key", "value");
    

    为了检索数据,我只是使用了

    var data = window.localStorage.getItem("key");
    

    就是这样...它在 iOS、Android 和 windows Mobile 上运行良好。

    【讨论】:

      猜你喜欢
      • 2013-08-01
      • 2023-03-17
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 2010-10-17
      • 2018-09-05
      • 2016-08-10
      • 1970-01-01
      相关资源
      最近更新 更多