2011-03-28 141 views
4

我對jQuery Ajax有一些思考問題。我的問題是這樣的:如果我只是加載一個HTML的部分插入使用jQuery Ajax的一個div,像這樣:jQuery Ajax加載div問題

$('#result').load('ajax/test.html #container'); 

將用戶必須下載整個的test.html爲了看什麼的#container div有?換句話說,整個test.html文件是否會被下載,然後解析爲僅選擇#container div,還是隻下載#container div?如果第一個發生,你能想出任何方式只下載#container股利沒有創建一個新的HTML文件?

非常感謝您的意見! :) 對此,我真的非常感激。

回答

3

當然整個HTML都會被下載。

如果你想避免這種情況,你必須創建一些服務器端腳本,例如PHP,它只會發送所需的內容。

你可以用一些這樣稱呼它

$('#result').load('ajax/test.php?ajax=1'); 

,並在PHP檢查的$_GET['ajax']的存在,如果存在的話,只發送了#container股利。

1

整個頁面將被下載。在jQuery有解析它的內容以找到合適的選擇。見Docs for jquery load

當此方法執行時,它 檢索的 AJAX /的test.html的內容,但隨後的jQuery解析 返回的文檔找到與容器的ID的 元件。這個 元素及其內容是 插入元素的ID爲 的結果,並且 的其餘部分將被丟棄。

3

見:http://api.jquery.com/load/

$( '#結果')負載( 'AJAX /的test.html #container的');

當此方法執行時,它 檢索的 AJAX /的test.html的內容,但隨後jQuery的解析 返回的文檔找到與容器的ID的 元件。此 元素及其內容是 插入到元素中,結果爲 ,,其餘 檢索到的文檔被廢棄