2012-07-11 4 views
3

내 index.php에 코드임의의 숫자 자동으로 JS 파일

<!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

브라우저 캐시에서 파일이 제공되지 않도록 추가되었습니다. 당신이 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); 
}}); 
+0

그 행을 어디에 둘 것인지 {cache : false} –

+1

사용할 수 있습니다 '$ .ajaxSetup'은 전역 적으로 캐싱을 가능하게합니다. 그렇지 않으면'$ .ajax'를 사용해야합니다. –

+0

캐시 : true is right –

3

the docs for the ajax method 참조 :

cache

기본 : true, 그것을 요청 페이지를 캐시하지 않도록 강제 falsedataType '스크립트'와 'JSONP'false로 설정하면

에 대한 브라우저 : 캐시를 false로 설정하면 쿼리 문자열 매개 변수 "_ = [TIMESTAMP]"을 URL에 추가합니다.

+0

대신 나에게 링크를 제공하여 비활성화 할 수 있습니다 코드 –

+0

@ 임의 - 솔루션은 인용 된 자료에 있습니다. 캐시 옵션을 true로 설정하십시오. – Quentin

+0

원래 코드는 내부적으로'html' 데이터 타입을 사용하는'.load'를 사용하기 때문에'cache'는 이미'true'이어야합니다 ... –