随机数自动附加到js文件

时间:2012-07-11 10:53:55

标签: javascript jquery html caching

我的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以及如何防止它?

2 个答案:

答案 0 :(得分:3)

请参阅the docs for the ajax method

  

cache

     

默认:truefalse用于dataType'脚本'和'jsonp'

     

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

答案 1 :(得分: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);
}});