您好,我正在开发 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/