当前位置: 代码迷 >> Ajax >> jquery使用ajax向后台请求数据时,使用IE访问出现有关问题
  详细解决方案

jquery使用ajax向后台请求数据时,使用IE访问出现有关问题

热度:569   发布时间:2013-03-04 17:22:12.0
jquery使用ajax向后台请求数据时,使用IE访问出现问题
我的前台使用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);
				}
			});
  相关解决方案