IE浏览器下使用AJAX登录接口请求缓存与登录不了的问题解决

问题: 在IE浏览器下面,登录的时候总是登录不上,可是打开控制台的时候再登录却能登录上。ajax

分析: 经过抓包,发现,在不打开控制台的时候,少了一个接口的请求,却返回了改接口的返回信息,可是返回信息并非我想要的,因而就怀疑是IE浏览器在AJAX请求的时候,并非每次都有真正地请求到,而是在缓存中抓取上次的信息。浏览器

解决:缓存

一、在调用接口上加上不定参数,使每次都发出新的请求dom

 

URL + '?v='+Math.random()

 

二、从异步与非异步的方式来解决,由于 $.ajax 请求默认是异步的,这样子可能会致使我还在登录,还没成功,可是页面却执行了其余与登录与否相关的操做。异步

这个时候就须要咱们把登录设为非异步的方式async

把 async 设置为 false 则能够使 $.ajax 请求变为 非异步url

$.ajax({
    async: false,
    type: 'POST',
    data: {},
    url: ''
})

 

因而完美地解决啦。spa

相关文章
相关标签/搜索