1.继上一篇随笔,链接点我,解决手机端cookie的问题。
2.上次用cookie+redis实现了session,并且手机浏览器可能回传cookies有问题,所以最后用js取出cookie跟在请求的url后面。
3.但是今天发现了新的问题,js取cookie存的sessionId为空,情况如下:
(1)QQ浏览器能获取某些cookie,另一些cookie获取为空,猜测是后台Response SetCookie的时候,手机端浏览器没能良好的接受。
(2)UC浏览器测试正常。
(3)Safari情况和QQ浏览器相同。
(4)PC端正常。
4.这样的情况下,我最终确定问题是, 后台对手机浏览器setCookie时出现问题。
5.解决办法是,将需要存在cookie中的值放到json返回结果中一并返回。
6.在js中使用setCookie的方法来向浏览器设置cookie.
7.SetCookie方法如下。
function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }
本文探讨了在手机端浏览器中遇到的Cookie问题,特别是针对QQ浏览器和Safari浏览器无法正确获取所有Cookie的情况。文中详细介绍了如何通过JavaScript手动设置Cookie,并提供了一种将必要的会话数据放入JSON响应中的解决方案。
...&spm=1001.2101.3001.5002&articleId=86451800&d=1&t=3&u=80d96bd8ab744149a0ae25515eb9e10a)
404

被折叠的 条评论
为什么被折叠?



