【发布时间】:2010-11-24 02:40:18
【问题描述】:
当一个页面在 Firefox 和 Webkit 中缓存时,它似乎失去了所有 ajax 功能。
<html manifest=cache.manifest>
<head>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jqtouch.js" type="text/javascript"></script>
无论如何,它只会检索已缓存的页面。有人知道怎么修这个东西吗? 提前致谢! 编辑:Ajax 代码:
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
http.open("GET", "default.css", true);
http.setRequestHeader('CacheControl', "no-cache");
http.onreadystatechange=function() {
if(http.readyState == 4) {
alert('4(good):'+http.responseText);
}
}
http.send(null);
还使用 jquery $.ajax 请求。都不工作。 jQuery:
$.ajax({
url: site_url,
cache: false,
dataType: 'html',
data: ({uuid : devid}),
success: function(response){
他们总是说成功,但只有在页面被缓存时才返回数据。否则他们返回 null ""。
最后一件事:我请求不在清单上的页面,因为服务器端后端相当大。清单中不可能包含所有页面。
基本上,我将如何访问不在同一站点 AJAX 清单上的页面。每当我当前尝试时,它总是返回 null。 返回 03:11:41,即使没有缓存等。
【问题讨论】:
-
我不这么认为,只有服务器到服务器的调用不会第二次进行,客户端到服务器的调用应该可以工作。你在做页面级缓存吗
-
您能否提供更多详细信息,例如您的 ajax 代码调用后端。
-
欢迎使用stackoverflow
标签: jquery ajax caching manifest jqtouch