uni.request({
url: loading_url,
method: 'GET',
dataType: 'json',
success: (res) => {
console.log('===app_loading==' + JSON.stringify(res))
var data = res.data.data;
uni.setStorage({
key: 'app_loading',
data: data,
success: function() {}
});
}
});
- 发布:2020-08-16 21:27
- 更新:2022-08-24 12:53
- 阅读:4156
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: WIN10
HBuilderX类型: 正式
HBuilderX版本号: 2.8.6
手机系统: Android
手机系统版本号: Android 9.0
手机厂商: 华为
手机机型: Meta20 Pro
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
uni.request请求接口时不用手动在header中传cookie
uni.request请求接口时不用手动在header中传cookie
实际结果:
现在如果不手动传header,每次调用uni.request服务端就会产生新的session,因为客户端的session_id不一致
现在如果不手动传header,每次调用uni.request服务端就会产生新的session,因为客户端的session_id不一致
bug描述:
更新到8.4以后安卓端调用uni.request请求接口时,每次生成的set-cookie头都不一样,导致每请求一次接口接口,服务器就产生一个新的session……
同一个接口刷新也会产生新的SESSION,这样一个用户操作APP,服务端就产生了大量的session,以前同一用户操作只有一个SESSION,现在必须手动传cookie,以前版本不用传header头
切换回以前的版本就没这个问题了,但是云打包时又弹出提示版本不一致
而且以前uni.request调用接口登录成功后,在webview里调用h5页面,session状态是同步的,现在也不同步了!
另外苹果端uni.request和webview所有版本都不同步,导致通过session验证的接口,每次都要在原生和H5中登录两次,现在的解决方案是,原生登录后H5做了个模拟自动登录,体验有点差
希望官方能尽快解决这个问题,不然通过session鉴权的服务端很痛苦,由于种种原因不便使用token,最好安卓和IOS端都能解决。
最佳回复
2***@qq.com (作者)
补充一下,服务端通过session验证用户是否登录,但是在uni.request接口中传用户名和密码登录成功后,通过uni.request调用需要登录的接口就没问题,但是在webview中调用需要登录的页面,还会提示未登录……
安卓版本在2.8.4以前没有这个问题,更新到最新版后出问题,苹果端一直有uni.request和webview会话状态不同步的问题。
BUG还未修复,希望官方关注问题。
-
回复 DCloud_Android_DQQ: 在电脑HBuilderX内置的Web浏览器中,依然会出现set-cookie无效的问题。JSESSIONID每一次请求都会变化。发布到手机端没有异常。
2020-11-19 15:52
1***@qq.com - 简单
ios在vue界面登录完成后。跳转的到webView界面进行操作。这个时候session2个地方不一致。如果从webView退回登录再进去session就保持一致了。这个bug请问怎么解决
我遇到一个问题,希望官方解决:uni-app转H5项目时,运行到内置浏览器,点击验证码接口每次刷新的时候,response header的session都会变化,导致前端输入正确的验证码,登录接口还是会提示验证码不正确(登录接口的session也会变化)
2***@qq.com - 新手
uni-app项目用Chrome浏览器运行,uni.request 发送请求时的session和服务器响应回来的session不一样,导致服务器端获取不到session中存储的验证码信息
5***@qq.com
我们这边用的最新的,还是获取不到登录的时候存的session,仍然是每次请求都是一个新的session
2020-08-26 18:03
DCloud_Android_DQQ
回复 5***@qq.com: 加一下我qq 643833712
2020-08-26 18:12