jquery中load方法的用法及注意事項說明

來源:互聯網
上載者:User

jquery中load方法的用法及注意事項說明

 本篇文章主要是對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");

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.