本篇文章主要是對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檔案的頂部加入以下聲明:
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");
以上是jquery中load方法的用法及注意事項說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!