2013-04-11 8 views
0

當我獲取包含<script src="some-file.js"></script>作爲跟隨例如網址:jQuery的HTML()得到的Javascript(.js文件)與_ = 1365695139815

<html> 
<script> 
$(document).ready(function(){ 
    $.get('/some-url', function(r) { 
     $('#html-container').html(r); // Contains: <script src="some-file.js"></script> 
    }); 
}); 
</script> 

<body> 
<div id="html-container"></div> 
</body> 

這是因爲之前的自動加載從some-file.js爲賽義德結果來自/some-url的結果比jQuery將?_={random number}添加到查詢字符串。

導致請求:GET some-file.js?_=1365695139815

如何禁用此隨機請求從自動加載追加從HTML()解析?

@edit

既然不能發出請求,這是因爲它們是由HTML解析執行,與布賴恩的答案,我發現這個簡單的解決方案:

$.ajaxSetup({ 
    // Enable caching of AJAX responses 
    cache: true 
}); 

How to set cache: false in jQuery.get call找到

回答

3

附加jQuery查詢字符串是jQuery緩存ajax調用的緩存結果。要禁用它,使用以下命令:

$.ajax({ 
    url: '/some-url', 
    cache: true, 
    success: function(r) { 
     $('#html-container').html(r); // Contains: <script src="some-file.js"></script> 
    } 
}); 

cache: true是重要組成部分。

+0

該選項'cache'是否可以通過'$ .get' fn傳遞? – 2013-04-11 16:44:15

+0

我用你的答案找到了解決方案http://stackoverflow.com/a/8841543/1596489 – 2013-04-11 16:47:23