阿卢说他遇
阿卢说他遇
  • 发布:2020-03-26 09:38
  • 更新:2020-03-26 15:45
  • 阅读:1770

你们有遇到hbuilder更新后,app设置的cookie在app中能获取到,但服务端程序获取不到的情况么

分类:HBuilderX

我通过app中设置好cookie,并且在app里测试是能获取到。
访问服务页页面时,在页面使用plus对象指定当前域名为location.origin时也能获取cookie。
但此时使用document.cookie是看不到app存储的cookie的,并且后端程序接收到页面请求也获取不到cookie。
而且程序代码自行设置的cookie、和旧版本app设置的cookie是可以在后端程序里获取到。

我用两个app各自两个版本做测试,
一个是前年就没有更新,到今天测试登录功能仍然正常的,但用新版本的开发工具打包后就没法正常登录;
另外一个是今年1月份打包的,到现在登录功能仍然正常,之后经过修改(没有改动到cookie存储或读取)于3月25号打包,但由于发现cookie读取不正常,所以无法发布。

以下是代码片段:
<script type="text/javascript">
document.addEventListener('plusready', function(){
var origin = "http://192.168.44.229:10010/";
var ext = new Date();
ext.setTime(ext.getTime() + 30 24 60 60 1000);
var cookieValue = "id_member_shopbest=701E2D1F4A58501F; expires=" + ext.toUTCString() + "; path=/";
plus.navigator.setCookie(origin, cookieValue);
document.getElementById("cookie").innerText = plus.navigator.getCookie(origin);
});
</script>
<body>
<p id="cookie"></p>
<a href="http://192.168.44.229:10010/mobi/cn/goods_list.html">跳转服务器页面</a>
</body>

这个问题我是在iOS模拟器和安卓手机上试了有问题,使用iPhone手机测试却正常,所以提交了BUG,但提交完发现页面打不开,但在个人动态里是能看到的,为了防止别人看不到,所以发布多一个问题咨询,想看看别人有没有遇到这个情况。
附上提交BUG的页面链接:https://ask.dcloud.net.cn/question/91796

2020-03-26 09:38 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com - .net开发

我最近需要发布新版本app,也遇到此问题,使用HBuilderx 1.3.2或以下版本 真机调试是正常的,但是云打包后的app无法获取cookie 导致app无法使用,使用2.6.1及以上版本 真机调试也是无法获取cookie。

  • 阿卢说他遇 (作者)

    因为云端打包会使用最新版本的html5plus基座,所以就算现在你使用的旧版开发工具正常,只要云端打包就可能结果不一样,除非你本地打包。

    不过我好奇的是,最新版本已经发布了一个月了,难道就只有你我遇到这个情况?你也是用plus对象中的方法去设置cookie然后获取不到么

    2020-03-26 10:34

3***@qq.com

3***@qq.com - .net开发

是的。
安卓10系统自动更新也是有问题。

  • 阿卢说他遇 (作者)

    我是安卓9就已经有问题了,感觉不知道是不是跟谷歌苹果开始禁止第三方跨域设置cookie有关,文章是这个:https://mp.weixin.qq.com/s/2zU_jR_d-jVW0Saa36a8mQ

    2020-03-26 16:07

该问题目前已经被锁定, 无法添加新回复