jquery中l(wèi)oad方法的用法及注意事項(xiàng)說(shuō)明
調(diào)用load方法的完整格式是:load( url, [data], [callback] ),其中
url:是指要導(dǎo)入文件的地址。
data:可選參數(shù);因?yàn)長(zhǎng)oad不僅僅可以導(dǎo)入靜態(tài)的html文件,還可以導(dǎo)入動(dòng)態(tài)腳本,例如PHP文件,所以要導(dǎo)入的是動(dòng)態(tài)文件時(shí),我們可以把要傳遞的參數(shù)放在這里。
callback:可選參數(shù);是指調(diào)用load方法并得到服務(wù)器響應(yīng)后,再執(zhí)行的另外一個(gè)函數(shù)。
一:如何使用data
1.加載一個(gè)php文件,該php文件不含傳遞參數(shù)
$("#myID").load("test.php");
//在id為#myID的元素里導(dǎo)入test.php運(yùn)行后的結(jié)果
2. 加載一個(gè)php文件,該php文件含有一個(gè)傳遞參數(shù)
$("#myID").load("test.php",{"name" : "Adam"});
//導(dǎo)入的php文件含有一個(gè)傳遞參數(shù),類(lèi)似于:test.php?name=Adam
3. 加載一個(gè)php文件,該php文件含有多個(gè)傳遞參數(shù)。注:參數(shù)間用逗號(hào)分隔
$("#myID").load("test.php",{"name" : "Adam" ,"site":"61dh.com"});
//導(dǎo)入的php文件含有一個(gè)傳遞參數(shù),類(lèi)似于:test.php?name=Adam&site=61dh.com
4. 加載一個(gè)php文件,該php文件以數(shù)組作為傳遞參數(shù)
$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});
//導(dǎo)入的php文件含有一個(gè)數(shù)組傳遞參數(shù)。
注意:使用load,這些參數(shù)是以POST的方式傳遞的,因此在test.php里,不能用GET來(lái)獲取參數(shù)。
二:如何使用callback
比如我們要在load方法得到服務(wù)器響應(yīng)后,慢慢地顯示加載的內(nèi)容,就可以使用callback函數(shù)。
代碼如下:
$("#go").click(function(){
$("#myID").load("welcome.php", {"lname" : "Cai", "fname" : "Adam", function(){
$("#myID").fadeIn('slow');}
);
});
防止jquery使用緩存的方法:
緩存這東西,在一定程度上加快了頁(yè)面的裝載,但是也常常給我們帶來(lái)麻煩。我在上篇文章里簡(jiǎn)單介紹了jQuery中Load方法的使用。在實(shí)際運(yùn)用中,我們可能會(huì)碰到瀏覽器緩存的問(wèn)題。比如我就在IE7里碰到這個(gè)問(wèn)題。
jQuery Load樣本代碼:
$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//在頁(yè)面裝載時(shí),在ID為#labels的DOM元素里插入labels.html的內(nèi)容。
});
當(dāng)我更新了labels.html以后,在IE7里load方法仍舊在使用舊的labels.html,就算我按刷新鍵也不管用。好在jQuery提供一個(gè)防止ajax使用緩存的方法,把下面的語(yǔ)句加在head的javascript文件里,就可以解決問(wèn)題。
$.ajaxSetup ({
cache: false //關(guān)閉AJAX相應(yīng)的緩存
});
此外我再介紹幾種方法解決緩存的方法。注意:我沒(méi)有在jQuery load的問(wèn)題上測(cè)試過(guò),這些方法僅供參考!
1.更改文件名,比如把labels.html改成lables_new.html,但是這是沒(méi)有辦法的辦法,一般沒(méi)有人這么做。
2.在labels.html后加上特定時(shí)間,比如lables.html?20081116。在實(shí)際工作中,在我更新css/javascript文件后,我都是用這種辦法來(lái)防止文件被緩存。
3.在labels.html文件的頂部加入以下聲明:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
4.load函數(shù)不僅可以調(diào)用HTML,也可以調(diào)用script,比如labels.php,可以在php文件里使用header函數(shù):
<?php
header("Cache-Control: no-cache, must-revalidate");
?>
load的特殊用法:
在load的url里加上空格后面就可以跟選擇器了。
舉例:我需要load test.html的內(nèi)容,并只要取id為a的內(nèi)容。
$("body").load("test.html #a");
相關(guān)文章
Mui使用jquery并且使用點(diǎn)擊跳轉(zhuǎn)新窗口的實(shí)例
下面小編就為大家?guī)?lái)一篇Mui使用jquery并且使用點(diǎn)擊跳轉(zhuǎn)新窗口的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08jquery實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)顯示下劃線的漸變下拉菜單效果代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)顯示下劃線的漸變下拉菜單效果代碼,涉及jquery插件SuperSlide.2.1.js實(shí)現(xiàn)滑動(dòng)切換效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08jQuery中:last-child選擇器用法實(shí)例
這篇文章主要介紹了jQuery中:last-child選擇器用法,實(shí)例分析了:last-child選擇器功能、定義及匹配父元素的最后一個(gè)子元素用法技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12詳細(xì)介紹jQuery.outerWidth() 函數(shù)具體用法
這篇文章通過(guò)jQuery示例代碼演示outerWidth()函數(shù)的具體用法,介紹的非常詳細(xì),有需要的朋友可以借鑒2015-07-07jQuery實(shí)現(xiàn)的移動(dòng)端圖片縮放功能組件示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的移動(dòng)端圖片縮放功能組件,結(jié)合實(shí)例形式詳細(xì)分析了jQuery基于移動(dòng)端的圖片縮放功能組件實(shí)現(xiàn)原理、步驟、核心代碼及使用技巧,需要的朋友可以參考下2020-05-05基于jquery實(shí)現(xiàn)的服務(wù)器驗(yàn)證控件的啟用和禁用代碼
用戶(hù)點(diǎn)擊下一步時(shí),不對(duì)Display=none的新增區(qū)域表單進(jìn)行驗(yàn)證,需要在用戶(hù)點(diǎn)擊“取消增加時(shí)”,禁用服務(wù)器驗(yàn)證控件。反之,啟用服務(wù)器驗(yàn)證控件。2010-04-04