码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-12-02 16:26:00      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

最近在工作中遇到了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);
					}
			
			
		}
	});


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

标签:

原文地址:http://blog.csdn.net/mr_smile2014/article/details/50148661

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!