2013-10-25 79 views
0

我有這樣的代碼:JQuery的負載功能似乎並沒有工作

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $("#div1").load("./a.txt"); 
    }); 
}); 
</script> 
</head> 
<body> 

<div id="div1"><h2>Let jQuery AJAX Change This Text2</h2></div> 
<button>Get External Data</button> 

</body> 
</html> 
enter code here 

但是點擊按鈕後沒有任何反應。我也嘗試加載(「/ a.txt」);仍然沒有運氣。

嘗試了不同的瀏覽器,沒有成功。

* 更新 *

================================== ==================

我設法解決上述問題(部分)通過將文件放入Web服務器。

現在我有另一個相關的問題。運行Jquery的按鈕似乎只能工作一次。那是當我更改文本文件的內容並單擊按鈕時,我總是看到舊文件的文本。我想瀏覽器緩存Jquery加載的數據?

+0

你使用一個Web服務器? a.txt的內容是什麼?是否可以訪問a.txt? –

+1

./a.txt?應該這個路徑錯誤 – underscore

+0

@praveen。不,我最初沒有,那是我的錯誤。最後我把一個a.txt和HTMl文件放在一個虛擬目錄中,它工作正常。 這個東西就是Jquery的所有其他功能,例如動畫和隱藏顯示功能不需要Web服務器。但顯然,Jquery只能在服務器上加載文件。它是否正確? –

回答

1

有兩種方法可以停止你的要求越來越緩存,如果你不介意你的任何Ajax請求的開始緩存你可以添加到您的代碼的開始。

$.ajaxSetup ({ 
    // Disable caching of AJAX responses 
cache: false 
}); 

或者,如果你想這樣做只是爲了這個要求,您可以只需添加一個緩存明確PARAM像

$("#div1").load("./a.txt?_="+Math.round(Math.random()*10000)); 
+0

謝謝。 $ .ajaxSetup({禁用緩存AJAX響應 緩存:false });沒有工作,但第二個解決方案工作。 –

0

試試這個

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
</script> 
<script> 
$(document).ready(function(){ 
    $(document).on('click',function(){ 
    $("#div1").load("../a.txt"); 
    }); 
}); 
</script> 
</head> 
<body> 

<div id="div1"><h2>Let jQuery AJAX Change This Text2</h2></div> 
<button>Get External Data</button> 

</body> 
</html> 
相關問題