我使用Ajax来检查数据并将其显示在页面上,并且使用清漆缓存。 数据将显示在除IE 11之外的所有浏览器上,直到我停用清漆缓存为止。
function checkMyData() {
var surl = 'index.php?eID=thismydata';
if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
surl += '&hash=' + Math.random();
}
$.ajax({
type: "GET",
url: siteurl + surl,
asynchronous: true,
data: 'mode=datalist' +
'&initdatalist=' + initdatalist +
'&datastr=' + datastr,
success: function (answer) {
var response;
try {
response = eval('(' + answer + ')');
} catch (err) {
alert('Err: ' + answer);
return;
}
if (initdatalist == 1)
initdatalist = 0;
$basic_cont = '<div class="row"><div class="col-md-6 col-md-offset-3"><p class="data-title">' +
response.firstmatch + response.otherdata + '</p></div></div>' +
response.matches;
$("#thisdaydata").empty();
$($basic_cont).appendTo("#thisdaydata");
}
});
}
所有浏览器(IE 11除外)的HTML输出:
<div id="thisdaydata">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<p class="data-title">data here</span></p>
</div>
</div>
IE 11的HTML输出:
<div id="thisdaydata"></div>
此ajax与IE 11不兼容吗?
答案 0 :(得分:0)
IE将自动缓存GET请求的响应,而其他浏览器将让您决定是否要缓存结果。 IE成功发出GET请求后,它将不再进行AJAX调用,直到该对象上的缓存过期为止。您可以在ajax中添加cache : false
值。有关更多详细信息和方法,您可以参考this article和this question。