我的HTML页面中有一个javascript文件,如下所示:
<script type="text/javascript" src="javascript\pages\page.js"></script>
在chrome网络调试器中,当我查看加载的内容时,它具有:
http://localhost:12639/javascript/pages/page.js?_=1556081859333
这是有问题的,因为我不希望该特定文件绕过缓存。 如果有所不同,则表示正在通过AJAX调用加载html文件。
该字段的值在我看来就像一个时间戳。甚至只是一个随机数。关于它如何到达那里的任何猜测?
编辑:以下是AJAX调用代码,它将检索HTML结果:
$.ajax({
url: 'process.php',
type: 'POST',
datatype: "json",
async:true,
data: {
//some data
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
},
success: function (data) {
$("#somediv").html(data);
}
});
答案 0 :(得分:3)
不幸的是,问题是jQuery。来自他们的docs :
缓存(默认值:true,对于数据类型'script'和'jsonp'为false)
类型:布尔值
如果设置为false,将强制浏览器不缓存请求的页面。 注意:将缓存设置为false只能与HEAD和GET请求一起正常使用。 它可以通过在GET参数后面附加“ _ = {timestamp}”来工作。对于其他类型的请求,则不需要此参数,但在IE8中,当对GET已请求的URL进行POST时,该参数就不会出现。