javascript - 使用钛处理 Android 应用程序登录的 session 和 cookie

标签 javascript android json titanium-mobile

您好,我正在开发 Android 应用程序。我开发了一个小应用程序。在记录我的应用程序后捕获身份验证 token 。但是我没有存储任何用户名密码或身份验证 token 。在记录我的应用程序之后;当我请求从远程服务器访问数据时,它再次要求我登录。我想访问我的数据以进行进一步处理。我使用了以下代码。

用于发送日志记录请求:它给我身份验证 token (app.js)

var xhr = Titanium.Network.createHTTPClient();
xhr.onerror = function()
{
Titanium.API.info('error');
alert(JSON.parse(this.responseText).error);
};
xhr.open('POST','http://192.168.1.2:3000/users/sign_in.json');
var params = {'user[login]':username.value,'user[password]':password.value};
Ti.API.info('Params'+JSON.stringify(params));
xhr.send(params);     

用于访问数据:(main.js)

var xhr = Titanium.Network.createHTTPClient();
xhr.onerror = function()
{
Titanium.API.info('error');
alert(JSON.parse(this.responseText).error);
};
xhr.open('GET','http://192.168.1.2:3000/lists.json');
var params = {'[id]':'32'}; 
Ti.API.info('Params'+JSON.stringify(params));
xhr.send(params);

但是先登录就报错,请问有什么办法可以解决吗

最佳答案

您必须在每个请求的 header 中发送 cookie/session id ,以便服务器可以识别您并返回您的数据——您可以存储 session id 、 cookie 或服务器发送给您的任何内容以进行身份​​验证进一步使用的切碎偏好,或者如果你不想存储,你可以通过 Intent 发送它——在一个包中或作为字符串

并且您必须根据服务器要求将其添加到 header 中

关于javascript - 使用钛处理 Android 应用程序登录的 session 和 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387526/

相关文章:

android - 可以选择使用哪个网络接口(interface)?

android - Picasso:设置旧版本的 OkHttp3

javascript - 如何使用 jsonp 请求获取 json

javascript - DOM 渲染上有事件吗?

javascript - 更改 Flipclock.js 中的日期

javascript - 使 div 中的文本可选

android - ViewPager 和 fragment - java.lang.RuntimeException : Parcel: unable to marshal value MyFragment{af26794 #1 id=0x7f0e0120}

javascript - 使用 javascript/jquery 重新启动问答游戏

在 Powershell 中将 Json 转换为 CSV

mysql - 带有 bool 值的 mysql json_extract 中的奇怪行为