解决部分浏览器ajax提交数据,数据已改变,却后台数据接收数据还是上一次值的问题

最近在工作中遇到了QQ浏览器ajax提交数据,表单数据改变,却后台数据接收数据还是上一次值的问题,但是在其它浏览器中是正常的。

代码如下:
$.ajax({
		url : "<%=path%>/secretkey/uploadKey",
		async:false,
		type : 'post',
		data : {
			merKey : $('#merKey').val(),
			keyType : $('#keyType').val(),
			type : $('#type').val()
		},
		success : function(data) {
			if(data.success=='undefined'||data.success==null){
				if(data.indexOf("<title>登录</title>")>=0)
			  	{
					window.open('<%=path%>/common/error?type=login', '_self');
			  	}
			 }
			if(data.success==true)
				{

			      _alert(data.message);
			      $("#merKey").val("");
			      $("#keyType").val("");
			      closeDilog();
				}else
					{
					_alert(data.message);
					}

		}
	});

经过查看$.ajax源码发现cache 参数的默认值是true,意思就是默认缓存了整个请求和数据。通过把cache 的值改为false不缓存数据和请求,

再在QQ浏览器及其它浏览器测试数据就正常了。

代码如下:

$.ajax({
		url : "<%=path%>/secretkey/uploadKey",
		async:false,
		cache:false,
		type : 'post',
		data : {
			merKey : $('#merKey').val(),
			keyType : $('#keyType').val(),
			type : $('#type').val()
		},
		success : function(data) {
			if(data.success=='undefined'||data.success==null){
				if(data.indexOf("<title>登录</title>")>=0)
			  	{
					window.open('<%=path%>/common/error?type=login', '_self');
			  	}
			 }
			if(data.success==true)
				{

			      _alert(data.message);
			      $("#merKey").val("");
			      $("#keyType").val("");
			      closeDilog();
				}else
					{
					_alert(data.message);
					}

		}
	});
时间: 2024-10-26 12:05:01

解决部分浏览器ajax提交数据,数据已改变,却后台数据接收数据还是上一次值的问题的相关文章

解决jquery使用ajax提交button标签时重复提交了。

这几天遇到一个jquery的ajax问题.相关代码是 <form action="xxx" method="post"> <button type="submit" class="tijiao">提交</button> </form> js为 $(".tijiao").click(function(){ $.post(xxx, $('.alert-form')

jquery ajax 提交form表单 以及django后台接受

HTML <form id="project_file_upload" enctype="multipart/form-data" > <div class="modal-body"> <!-- multiple 增加此属性,文件可以多选 --> <input type="file" name="file" id="file"> <i

ajax提交异常解决

一.遇到的问题 在项目中使用ajax提交表单失败,并且后台程序都没有执行,分析具体问题是由于post表单时contenttype的类型不一致. 二.解决方式 $.ajax({ type: 'post', url:'/contentType', contentType:'application/x-www-form-urlencoded', data:{ username:'admin', password:'22333' }, dataType:'json', success:function

接收数据:自适应缓冲区和连接读是为了解决什么问题

接收数据:自适应缓冲区和连接读是为了解决什么问题 目录 接收数据:自适应缓冲区和连接读是为了解决什么问题 1. 主线分析 1.1 读数据技巧 1.2 主线 1.2 知识点 2. 源码分析 2.1 接收数据 2.2 AdaptiveRecvByteBufAllocator Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 到目前为止,我们已经启动服务,并接收了客户端连接,双方已经可以正式通信.下面就要处理请求:接收数据.业务

ajax提交java后台接收参数出现乱码

1.现象: 前台ajax提交查询数据 $.ajax({ url: 'bdmap/xx.action', data:para, dataType:'json', contentType:"application/x-www-form-urlencoded", success: function(data){ if(data.success){ callback(data.data); } }}) Request URL:http://localhost:8083/bdmap/xx.act

Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接收数据:       • 创建接收端的Socket对象      • 创建数据包,接收数据(接收容器)      • 调用Socket对象的接收方法,接收数据包      • 解析数据包,并显示在控制台      • 释放资源 2. 代码实现 (1)首先我们先写发送端的程序,如下: 1 packag

解决:通过ajax,PUT方式提交的数据无法获取的问题

解决:通过ajax,PUT方式提交的数据无法获取的问题 原因 直接使用PUT提交的数据,tomcat默认不会封装成一个map(默认只处理POST,所以form表单使用_method参数修改提交方法时,没有出现问题), 也就是说request.parameter()得不到传过来的参数. 解决方法 通过tomcat提供的过滤器 FormContentFilter 在web.xml中配置FormContentFilter过滤器,url-pattern为/*(原先使用的HttpPutFormConten

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",