首页 > 代码库 > IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决
IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决
问题: 在IE浏览器下面,登陆的时候老是登陆不上,但是打开控制台的时候再登陆却能登陆上。
分析: 通过抓包,发现,在不打开控制台的时候,少了一个接口的请求,却返回了改接口的返回信息,但是返回信息并不是我想要的,于是就怀疑是IE浏览器在AJAX请求的时候,并不是每次都有真正地请求到,而是在缓存中抓取上次的信息。
解决:
1、在调用接口上加上不定参数,使每次都发出新的请求
URL + ‘?v=‘+Math.random()
2、从异步与非异步的方式来解决,因为 $.ajax 请求默认是异步的,这样子可能会导致我还在登陆,还没成功,但是页面却执行了其他与登陆与否相关的操作。
这个时候就需要我们把登陆设为非异步的方式
把 async 设置为 false 则可以使 $.ajax 请求变为 非异步
$.ajax({ async: false, type: ‘POST‘, data: {}, url: ‘‘ })
于是完美地解决啦。
IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。