第六章 jQuery中的Ajax應(yīng)用
1.Ajax:客戶端javascript所發(fā)起的http請(qǐng)求的代號(hào),無刷新的數(shù)據(jù)更新.
2.編程模型:
(1).同步代碼:按鈕按下 執(zhí)行耗時(shí)操作 等待執(zhí)行返回 (多線程)
(2).異步代碼:按鈕按下 執(zhí)行耗時(shí)操作 不會(huì)等待返回 直到完成才通知調(diào)用函數(shù)
3.Ajax的優(yōu)點(diǎn):
(1).不需要任何瀏覽器插件,在任何支持javascript的瀏覽器上運(yùn)行.
(2).優(yōu)秀的用戶體驗(yàn).
(3).提高web程序的性能.
(4).減輕服務(wù)器和寬帶的負(fù)擔(dān).
4.Ajax的缺點(diǎn):
(1).可能破換瀏覽器后退按鈕的正常行為.
(2).對(duì)搜索引擎的支持不足.
(3).開發(fā)和調(diào)試工具的不足.
(4).手持設(shè)備支持性差.
5.XMLHttpRequest對(duì)象屬性:
(1).readyState:http請(qǐng)求的狀態(tài).當(dāng)一個(gè)XMLHttpRequest初次創(chuàng)建時(shí),這個(gè)屬性的值從0開始,直到接收到完整的HTTP響應(yīng),這個(gè)值增加到4.
{0:Uninitialized 初始狀態(tài)
1:Open open方法已調(diào)用.但是send()還未調(diào)用,請(qǐng)求還未發(fā)送
2:Sent send()已調(diào)用,http請(qǐng)求發(fā)送到web服務(wù)器,未接受到響應(yīng)(已發(fā)送,未接收)
3:Receiving 所有響應(yīng)頭部已經(jīng)接收到,響應(yīng)體開始接收但未完成(開始接收)
4:Loaded http響應(yīng)已經(jīng)完全接收(接收完畢)
}
(2).responseText:從服務(wù)器接收到的響應(yīng)體(不包括頭部),或者如果還沒有接收到數(shù)據(jù)的話,(readyState<3)就是空字符串.
(3).responseXML:對(duì)請(qǐng)求的響應(yīng),解析為xml并作為Document對(duì)象返回.
(4)statusText:表狀態(tài)
status=200 表示OK
status=404 表示Not Found
6.XMLHttpRequest方法
(1)abort() 取消當(dāng)前響應(yīng),關(guān)閉鏈接并且結(jié)束任何未決的網(wǎng)絡(luò)活動(dòng)
(2)getAllResponseHeaders()
把http響應(yīng)頭部作為未解析的字符串返回.
(3)getResponseHeaders()
返回指定的http響應(yīng)頭部的值
(4)Open() 初始化http的請(qǐng)求參數(shù),但是不發(fā)送請(qǐng)求
語法:
open(method,url,async,username,password)
method:用于請(qǐng)求的http的方法,(值包括get,post,head)
url:參數(shù)時(shí)請(qǐng)求的主體.
async:參數(shù)指示請(qǐng)求使用應(yīng)該異步的執(zhí)行.
(5)send()
發(fā)送http請(qǐng)求,使用傳遞給open()方法的參數(shù),以及傳遞給該方法的可選請(qǐng)求體.
語法:send(body)
(6)setRequesHeader() 向一個(gè)打開但未發(fā)送的請(qǐng)求設(shè)置或添加一個(gè)http請(qǐng)求.
語法:
setRequesHeader(name,value)
name:參數(shù)是要設(shè)置的頭部的名稱.
value:參數(shù)時(shí)頭部的值
7.jQuery中的Ajax
(1)最底層:$.ajax()
第二層:load(),$.get()和$.post()
第三層:$.getscript()和$getJson()
(2)load()方法
語法:
load(url[,data][,callback])
url:表示請(qǐng)求的html頁面的url;
data(可選):發(fā)送到服務(wù)器端的key/value數(shù)據(jù)(一般用json格式),為object類型;
callback(可選):請(qǐng)求完成任務(wù)(無論成功或失敗)時(shí)的回調(diào)函數(shù);
(3)$.get()方法
語法:
$.get(url[,data][,type])
url:待載入頁面的url地址;
data(可選):待發(fā)送key/value參數(shù);
callback:(可選)載入成功時(shí)回調(diào)函數(shù);
type:(可選)返回內(nèi)容格式,xml,html,script,json,text,_default;
(4)$.post()方法
語法:
$.post(url[,data][,type])
url:待載入頁面的url地址;
data(可選):待發(fā)送key/value參數(shù);
callback:(可選)載入成功時(shí)回調(diào)函數(shù);
type:(可選)返回內(nèi)容格式,xml,html,script,json,text,_default;
(5)$.getScript()方法
語法:
$.getScript(url,callback)
url:待載入的JS文件的地址;
callback:(可選)成功載入后回調(diào)的函數(shù);
(6)$.getJson()方法
語法:
$.getJson(url,callback)
url:待載入的Json文件的地址;
callback:(可選)成功載入后回調(diào)的函數(shù);
(7)$.ajax()方法
結(jié)構(gòu)為:
$.ajax(options) 所有參數(shù)都是可選的
8.序列化元素
(1)seralize()方法 序列表表格內(nèi)容為字符串(用于Ajax請(qǐng)求)
(2)serializeArray()方法
將DOM元素序列化后,返回json對(duì)象格式的數(shù)據(jù),需要使用插件或者第三方庫進(jìn)行字符串化操作.
(3)$.param()方法
$.param()是serialize()方法的核心,用來對(duì)一個(gè)數(shù)組或?qū)ο蟀凑誯ey/value進(jìn)行序列化.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:第六章jQuery中的Ajax應(yīng)用-創(chuàng)新互聯(lián)
鏈接URL:http://sd-ha.com/article6/shpog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、微信小程序、Google、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容