作者:wen260693700 | 来源:互联网 | 2023-08-13 07:08
在vue单页应用项目中,safari浏览器验证码登陆提示‘验证码过期’或者验证码校验不通过的问题原因:验证码存储在了session里,接着验证时又发起了一次会话,因为Safari不保存cookie
在vue单页应用项目中,safari浏览器验证码登陆提示‘验证码过期’或者验证码校验不通过的问题
原因:
验证码存储在了session里,接着验证时又发起了一次会话,因为Safari不保存COOKIE,所以有两个session,这样自然验证码就是错的了。
解决方案:
1、手动将其改成“总是”就可以解决这个问题
2、利用页面传值,将sessionID隐藏在页面中传递到服务器获取session信息
前端修改:
CodeSrc: loginIp + urlApi.imgCode + (COOKIEs.get('JSESSIONID') == null ? '?a=' + new Date().getTime() : '?a=' + new Date().getTime() + '&JSESSIOnID='+ COOKIEs.get('JSESSIONID')),
原文地址:https://segmentfault.com/a/1190000017046484