IE 8缓存ajax调用
IE 8 caching ajax calls
我正在尝试使用ajax get方法获取一些数据,它在除IE之外的所有浏览器中都能很好地工作。在IE中,它在第一次调用时缓存数据,并缓存它,我需要防止它。我在代码中尝试了以下方法,但仍然无法解决问题
1) 在代码中全局设置缓存=false$.ajaxSetup({cache:false});
2) 将其放入元标签
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
3) 使用POST代替GET方法
$.ajax({
cache: false,
type: "POST",
url: '/XYZURL/' + Id,
dataType: "json",
async: false,
success: function(Response) {
$scope.data = Response;
},
4) 尝试在我的代码中包含这一点,但没有成功
if(url.replace("?") != url)
url = url+"&rand="+new Date().getTime();
else
url = url+"?rand="+new Date().getTime();
请帮我解决这个问题,过去两天它一直困扰着我。提前谢谢。
var browser = window.navigator.userAgent;
var msie = browser.indexOf ( "MSIE " );
if(msie > 0){
var remoteId = index.entity.id;
var ie_fix = new Date().getTime();
$.ajax({
cache: false,
type: "GET",
url: '/XYZURL/' + Id,
dataType: "json",
async: true,
success: function(Response) {
$scope.data = Response;
},
error: function(jqXHR,errorThrown) {
alert("jqXHR");
}
});
}else{
$scope.data = datafactory.show({id: index.id});
}
尽管我的代码是基于角度的,但我在所有服务调用中都使用了jQueryajax,但我试图根据浏览器实现角度和ajax调用,这解决了我的问题。我知道这可能不是正确的方法,但这是唯一对我有效的解决方案。
如本文所述,如何防止jQuery Ajax请求在Internet Explorer中缓存?如果使用cache: false
选项,则不应缓存调用。我发现不同的是async
选项。
因此,请尝试在ajax调用中将async: false
更改为async: true
。
相关文章:
- 阻止在select2单击时调用ajax
- 调用Ajax并返回响应
- Ajax:只在元素存在的情况下调用Ajax
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 调用Ajax内部的函数
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- 我们如何在Firefox中调用AJAX
- Rails:通过调用Ajax重定向
- Cookie 在 Spotify (Javascript) 中调用 ajax 后未保存
- 通过调用 Ajax 来设置 struts bean 值
- 无法从服务器中的 php 调用 Ajax 函数
- 如何在附加表行时调用 ajax
- 在facebook用户发送邀请请求后调用ajax调用
- 定期调用Ajax
- 调用Ajax生成的表单的值
- 无法调用ajax函数
- 在调用AJAX之后显示ng控制器的内容;作为“;作用
- CSS,Java脚本在php中调用ajax后无法正常工作
- 成功调用AJAX后,Toast Growl不会出现
- 如何在调用AJAX时记录或捕获信息和错误