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

问题: 在IE浏览器下面,登陆的时候老是登陆不上,但是打开控制台的时候再登陆却能登陆上。

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

解决:

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

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

2、从异步与非异步的方式来解决,因为 $.ajax 请求默认是异步的,这样子可能会导致我还在登陆,还没成功,但是页面却执行了其他与登陆与否相关的操作。

这个时候就需要我们把登陆设为非异步的方式

把 async 设置为 false 则可以使 $.ajax 请求变为 非异步

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

于是完美地解决啦。

时间: 2024-10-13 10:06:03

IE浏览器下使用AJAX登陆接口请求缓存与登陆不了的问题解决的相关文章

1.实现一个用户登陆接口

1.实现一个用户登陆接口 需求: 1.登陆前判断是否在黑名单中blacklist.txt,如存在提示用户被锁定 2.读取密码文件passwd.txt登陆,登录失败3次就锁定账号,加入黑名单,提示用户是否继续. 1 # -*- coding:utf-8 -*- 2 # Author: JACK ZHAO 3 # 需求: 4 # 实现一个用户登陆接口 5 # 1.登陆前判断是否在黑名单中blacklist.txt,如存在提示用户被锁定 6 # 2.读取密码文件passwd.txt登陆,登录失败3次就

IE浏览器下ajax缓存导致数据不更新的解决方法

摘自:http://www.iefans.net/ie-ajax-json-shuju-huancun/ 最近做设计的时候遇到一个小问题,当你用jquery的getjson函数从后台获取数据的时候,IE浏览器会自动设置缓存,如果此时你对数据进行修改的时候刷新页面,IE并不会在页面显示你修改后的数据,因为你刷新的时候IE浏览器会查找缓存并显示你修改前的数据,最后在网上查了些资料终于解决了IE浏览器下的问题. 方法就是在你的请求的URL 后面设置个可变的参数,比如: Java代码 $.getJSON

ie浏览器下,get请求缓存问题

1 使用get请求数据 1)Java代码 $.getJSON("sortShow!sortShow?time="+new Date().getTime(),function(){}); 开始我是直接这样写的 Java代码 $.getJSON("sortShow!sortShow,function(){}); 所以刷新的时候IE 会显示上次的缓存,因此你必须提交新的数据,所以在后面加了个时间参数,即使你的后台没设置这个参数,但也不会报错.此时IE会重新向后台发出请求,类似的还有

IE浏览器下AJAX缓存问题导致数据不更新的解决办法

一直知道使用ajax的时候,有的时候会出现数据缓存的问题,当时也没有深究,就是所有的简单粗暴的全部加上cache:false,或者使用在url处加上随机时间函数 今天无意间看见了为什么会出现缓存的原因记录下 注:通过AJAX请求后台时,当参数相同,IE浏览器会从缓存中取值而非从重新请求服务器.其他使用非IE内核的浏览器并无此问题. 在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱, 即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会

python接口自动化-参数关联和JSESSIONID(上个接口返回数据作为下个接口请求参数)

参数关联是接口测试和性能测试最为重要的一个步骤,很多接口的请求参数是动态的,并且需要从上一个接口的返回值里面取出来,一般只能用一次就失效了.最常见的案例就是网站的登录案例,很多网站的登录并不仅仅只传username和psw两个参数,往往有其它的动态参数.有时候还需要带上cookies参数,如JSESSIONID 登录参数 首先分析下目标网站[学信网:https://account.chsi.com.cn/passport/login]的登录接口请求参数.先随便输入账号和密码,使用fiddler工

httprunner学习3-extract提取token值参数关联(上个接口返回的token,传给下个接口请求参数)

前言 如何将上个接口的返回token,传给下个接口当做请求参数?这是最常见的一个问题了. 解决这个问题其实很简单,我们只需取出token值,设置为一个中间变量a,下个接口传这个变量a就可以了.那么接下来就是解决两个问题: 如何取出token值? 如何参数关联? 场景案例 我现在有一个登陆接口A,登陆成功后返回一个token值.有一个获取绑定卡号的接口B,但是接口B必须要先登录后传登录的token才能访问 A接口登录接口文档基本信息 访问地址:http://127.0.0.1:8000/api/v

bugzilla4的xmlrpc接口api调用实现分享: xmlrpc + https + cookies + httpclient +bugzilla + java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能

xmlrpc .  https . cookies . httpclient.bugzilla . java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能,网上针对bugzilla的实现很少,针对xmlrpc的有但是基本都是http协议的,https下的认证处理比较麻烦,而且会话保持也是基本没有太多共享,所以本人决定结合xmlrpc\bugzilla官方文档,网友文章,结合个人经验总结而成,已经在window2007 64+jdk7位机器上调试通过 手把手教你如何实现: 第一步: 在

jQuery ajax方法在Chrome浏览器下失效问题

最近做测试时碰到一个问题,chrome下使用ajax的一些方法(如get,load等)的时候完全失效: $(function() { $("#send").click(function() { $("#resText").load("test.html"); }); }); 代码如上,在其他浏览器,如firefox中表现正常: 百度谷歌之后,才发觉原来是chrome里面对非服务端的AJAX调用做了严格的限制,如果放到服务器上,使用http:访问就

将微博或者qq空间的说说同步至博客园 wcf+js(ajax)跨域请求(1)

前天刚写了篇文章使用Bootstrap为你的博客园自定义轮播图片(今天将图片加载的顺序调整了下,不在访问的时候直接加载,而是页面加载最后在脚本里面动态添加dom元素),虽说技术含量不怎么高,但是大家还算感兴趣.其实对博主来说最关键是博客的积分在涨.所以趁热打铁,再来一篇使用wcf+js ajax跨域请求数据同步空间说说的帖子. 因为是请求qq说说的数据,所以要登陆我的qq,这个很麻烦,总不能让每个访客都登陆的qq,然后把数据取出来吧,而且qq也没有相关的接口提供,登陆的时候还要处理验证码.所以这