3

我的 index.php 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script src="js/jquery.js"></script>
<script>
$(function(){
$("body").load("AJAX.php");
});</script></head>
<body>
</body>
</html>

还有我的 AJAX.php 代码

<body>
<script src="js/asdf.js"></script>

</body>

和我的 asdf.js 代码

function cool(){
    alert("hi");}

现在当我加载 index.php 并看到它输出的控制台时

[16:21:57.237] GET http://localhost/js/asdf.js?_=1342003917230 [HTTP/1.1 200 OK 8ms]

现在我想知道为什么它将随机数添加到 js 文件的 url 以及如何防止这种情况?

4

2 回答 2

3

请参阅ajax 方法的文档

cache

默认值:true,false对于dataType'script' 和 'jsonp'

如果设置为false,它将强制浏览器不缓存请求的页面。将缓存设置为 false 还会将查询字符串参数“_=[TIMESTAMP]”附加到 URL。

于 2012-07-11T10:55:39.610 回答
2

添加它是为了防止从浏览器缓存中提供文件。

如果您在 jQuery 中使用 .load 方法,您可以通过传递选项来禁用它{cache:false}

$.ajaxSetup({cache : true});
$.load(url, data, function() {
    // callback function
});

或者

$.ajax(url, {cache : true, dataType : 'html', success : function (response) {
    $('body').html(response);
}});
于 2012-07-11T10:56:03.167 回答