我正在尝试让我的Android 4.0应用程序接受来自Node.Js express服务器的cookie,使用mongoose-auth进行身份验证.当我发布到我的登录api的帖子时,我可以看到使用Poster发送的set-cookie标题,但我不认为它正在存储.我尝试使用jquery cookie插件,但在尝试阅读时我收到null.但是当我检查api中的请求时,我能够访问会话数据.有没有人有任何示例代码,说明他们如何使用phonegap在Android中存储cookie还检查cookie是否存储在应用程序中?
下面是我的端点,我能够从另一个端点会话数据.
app.post('/api/login', function(request, response){
User.authenticate(request.body.email, request.body.password, function(err, userdoc) {
if (userdoc){
//console.log(request.session);
request.session.test = "hope this works";
User.findOne({email : request.body['email']}, ['name'], function (err, user){
if(!err){
console.log("name %s", user);
request.session.user = user;
response.json({success:true});
} else{
console.log(err);
}
});
}
else {
response.json({success:false});
}
});
});
但是当我尝试用jquery插件读取cookie时,我得到了null.
alert($.cookie('connect.sid'));
任何帮助将不胜感激.
解决方法:
我相信你的document.cookie为null的原因是它有远程域名,而你的PhoneGap / Cordova应用程序的javascript位于file:/// android_asset / www /
您的ajax请求符合跨域请求的条件.
这是默认的cookie行为.
您可以通过XHR对象和来自响应的标头从ajax请求访问cookie,或者您可以在服务器上编写代理页面,将cookie呈现为可以通过PhoneGap / Cordova javascript读取的页面主体.
另请查看this
原文地址:https://codeday.me/bug/20190613/1232804.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。