欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jquery使用ajax向后台请求数据时,使用IE访问出现问题 博客分类: jqueryajax jqueryajaxiecache 

程序员文章站 2024-03-22 16:32:28
...
我的前台使用jquery的ajax向后台请求数据,当我更新或删除一条数据时,后台再将更新后的数据返回给前台显示,使用chrome浏览器进行访问时没有任何问题,但使用IE时就出现了问题,返回给前台的数据根本没有更新。通过好长时间的搜索才知道这是由于IE缓存的问题,ie是根据请求的url是不是一样来是否发送请求,对于同一请求,ie只发送一次http请求,所以同一请求发送多次,但ie实际是不会发送的。
解决该问题一个简单办法是不缓存ajax请求,
方法一:在jquery中设置:
		$.ajaxSetup ({
			cache: false //close AJAX cache
		});


方法二:在发送ajax请求时设置cache为false:
			$.ajax({
				type:"POST",
				url:"recycleEmails.action",
				data: {ids:selectedItems},
				dataType: "json",
				cache:false,
				success: function (result) {
					$(".content-box-content").html(result);
				}
			});


方法三:在请求的url或数据里添加时间戳,如下:
			$.ajax({
				type:"POST",
				url:"recycleEmails.action?timestamp=" + new Date().getTime(),
				data: {ids:selectedItems},
				dataType: "json",
				success: function (result) {
					$(".content-box-content").html(result);
				}
			});


或者:
			$.ajax({
				type:"POST",
				url:"recycleEmails.action",
				data: {ids:selectedItems,timestamp:new Date().getTime()},
				dataType: "json",
				success: function (result) {
					$(".content-box-content").html(result);
				}
			});