本篇文章主要是對jquery中load方法的用法及注意事項進行了詳細介紹,需要的朋友可以過來參考下,希望對大家有所幫助
調用load方法的完整格式是:load( url, [data], [callback] ),其中 url:是指要導入文件的地址。 data:可選參數;因為Load不僅僅可以導入靜態的html文件,還可以導入動態腳本,例如PHP文件,所以要導入的是動態文件時,我們可以把要傳遞的參數放在這裡。 callback:可選參數;是指調用load方法並得到服務器響應後,再執行的另外一個函數。 一:如何使用data 1.加載一個php文件,該php文件不含傳遞參數 $("#myID").load("test.php"); //在id為#myID的元素裡導入test.php運行後的結果 2. 加載一個php文件,該php文件含有一個傳遞參數 $("#myID").load("test.php",{"name" : "Adam"}); //導入的php文件含有一個傳遞參數,類似於:test.php?name=Adam 3. 加載一個php文件,該php文件含有多個傳遞參數。注:參數間用逗號分隔 $("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"}); //導入的php文件含有一個傳遞參數,類似於:test.php?name=Adam&site=61dh.com 4. 加載一個php文件,該php文件以數組作為傳遞參數 $("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]}); //導入的php文件含有一個數組傳遞參數。 注意:使用load,這些參數是以POST的方式傳遞的,因此在test.php裡,不能用GET來獲取參數。 二:如何使用callback 比如我們要在load方法得到服務器響應後,慢慢地顯示加載的內容,就可以使用callback函數。 代碼如下: $("#go").click(function(){ $("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){ $("#myID").fadeIn('slow');} ); }); 防止jquery使用緩存的方法: 緩存這東西,在一定程度上加快了頁面的裝載,但是也常常給我們帶來麻煩。我在上篇文章裡簡單介紹了jQuery中Load方法的使用。在實際運用中,我們可能會碰到浏覽器緩存的問題。比如我就在IE7裡碰到這個問題。 jQuery Load樣本代碼: 代碼如下: $(document).ready(function(){ $("#labels").load("/blog/categories/labels.html"); //在頁面裝載時,在ID為#labels的DOM元素裡插入labels.html的內容。 }); 當我更新了labels.html以後,在IE7裡load方法仍舊在使用舊的labels.html,就算我按刷新鍵也不管用。好在jQuery提供一個防止ajax使用緩存的方法,把下面的語句加在head的javascript文件裡,就可以解決問題。 代碼如下: $.ajaxSetup ({ cache: false //關閉AJAX相應的緩存 }); 此外我再介紹幾種方法解決緩存的方法。注意:我沒有在jQuery load的問題上測試過,這些方法僅供參考! 1.更改文件名,比如把labels.html改成lables_new.html,但是這是沒有辦法的辦法,一般沒有人這麼做。 2.在labels.html後加上特定時間,比如lables.html?20081116。在實際工作中,在我更新css/javascript文件後,我都是用這種辦法來防止文件被緩存。 3.在labels.html文件的頂部加入以下聲明: <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> 4.load函數不僅可以調用HTML,也可以調用script,比如labels.php,可以在php文件裡使用header函數: 代碼如下: <?php header("Cache-Control: no-cache, must-revalidate"); ?> load的特殊用法: 在load的url裡加上空格後面就可以跟選擇器了。 舉例:我需要load test.html的內容,並只要取id為a的內容。 $("body").load("test.html #a");