IE11在使用get方式提交没有进行请求的bug问题
在做iemsc项目的时候,测试提交了一个bug问题,在发布新闻成功后,自动刷新列表的时候,不进行刷新,但是在谷歌上面又不会出现这种问题,
原因:
发现请求的时候用的get请求,因为不同的浏览器的请求机制可能不一样,在后台查看接口的时候发现请求被重定向了,为302,所以就是缓存的问题,
解决办法:
一、将get方式改成post方式,这种方式直接,因为post方式是默认不缓存,而get会被浏览器主动cache
既然是缓存的问题,那么延生的解决办法还有
二、在请求参数的里面加上一个随机数,目的就是告诉浏览器,请求的主体发生了变化
data:{r:Math.random()}
<script>
$(function(){
$(".js_btn").click(function(){
$.ajax
({
type:'GET',
url:'getRealTime',
data:{r:Math.random()},
dataType:'json',
success:function(d){
if(d.isSuccess){
$(".js_text").val(d.data);
}else{
alert(d.message);
}
},
error:function(){
alert("请求超时!");
}
})
})
})
</script>
每次执行请求的内容如下:
三、更改jquery的全局不缓存
使用jQuery.ajaxSetup(name:value, name:value, …) 方法设置全局 AJAX 默认选项。
通过这种办法可以设置让Ajax发送请求后得到响应返回的结果不写入浏览器的缓存中。
$.ajaxSetup({ cache:false });
我这样做原理其实和第二种方式差不多,在设置Ajax返回数据不写入缓存后,每次点击“获取当前时间”后,向服务器端发送的请求内容也是不一样的,同理,这样做也可以解决了IE每次发送相同请求Ajax时都会首先读取缓存中内容的问题。
四、在头部mete里面no-cache:no-cache,(这种方式没有测试,按道理是可以的)
IE11在使用get方式提交没有进行请求的bug问题的更多相关文章
- android 使用HttpURLConnection方式提交get/post请求
源码链接 package com.zhangbz.submitdata.Utils; import java.io.ByteArrayOutputStream; import java.io.IOEx ...
- 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]
当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据 ...
- get方式提交中文乱码解决
get方式提交中文时会乱码,过滤器只过滤post请求,此时可修改tomcat配置文件server.xml,为Connector添加属性URIEncoding="utf-8". ec ...
- 超链接实现post方式提交
思路:如果想要超链接实现post方式提交,必须借助表单.下面得两种方式,一种是借助显示的form表单,一种是借助隐式的form表单方式一:将超链接放到一个form表单中,或者超链接本身就在一个form ...
- Android 采用post方式提交数据到服务器
接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...
- 导出excel时,以form方式提交json数据
今天在写项目时写到一个excel的导出,开始想用ajax请求后台后导出,但发现ajax会有返回值,而且ajax无法直接输出文件,而后台的excel导出方法已经封装好,不方便修改. 就改用了提交的方式f ...
- easyui form 方式提交数据
http://ldzyz007.iteye.com/blog/2067540 <form id="ff" method="post"> . ...
- http-使用get和post方式提交数据
注意点: 1.Get和post这两种提交方式有何不同? 很明显post方式提交多了content-length和content-type这两项,所以post提交是要为这两项设置setRequestPr ...
- jquery.form.js实现将form提交转为ajax方式提交的使用方法
本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完 ...
随机推荐
- unigui的UnimDatePicker控件使用经验
最近使用unigui的UnimDatePicker控件遇到只能选择当年之前的年份和日期及日期选择界面不能显示中文的问题,经以下设置就能正常使用.1.UnimDatePicker月份显示中文 unim ...
- log4net 入门使用
log4net 是dotnet平台下的一个日记记录组件. 一 NuGet中安装log4net包: 二 配置log4net.config文件 配置文件内容: <?xml version=&quo ...
- Spring.NET 整合Nhibernate
因为最近无意中学了AOP ,所以想一探究竟,看看.net里这个Spring.Net 到底是怎么回事,请有需要的童鞋往下,不需要的请alt+w.因为是先配置的 Nhibernate 所以就从这个开始.开 ...
- Windows上传文件到linux 使用winscp
Windows上传文件到linux 使用winscp, winscp下载目录 https://sourceforge.net/projects/winscp/postdownload?source=d ...
- oracle所有的乱码解决方案
oracle所有的乱码解决方案 是不是经常看见各式各样的乱码,看见头就大了,大家别怕,所有的问题都会有一个甚至不止一个的解决方案,有句名言说的好:万法不离其踪.网上大部分把工具的乱码和代码操作的乱码混 ...
- docker安装与基本配置
Docker有很多种安装的选择,我们推荐您在Ubuntu下面安装,因为docker是在Ubuntu下面开发的,安装包测试比较充分,可以保证软件包的可用性.Mac, windows和其他的一些linux ...
- mysql on duplicate key update 和 insert ignore into
on duplicate key update <insert id="insert" parameterType="Plan"> insert i ...
- adb client, adb server, adbd原理浅析(附带我的操作过程)
adb是什么? adb就是Android调试桥,很形象啊. 先来看adb原理的逻辑图: 再来进行实际操作:我的pc的ip是192.168.1.102, 我的android手机的ip为192.168.1 ...
- [To Selina] 《撒野》读后感
- redis 限制接口访问频率
代码: <?php /** * */ class myRedis { private static $redis = null; /** * @return null|Redis */ publ ...