HTTP報(bào)文及ajax基礎(chǔ)知識(shí)
HTTP報(bào)文
客戶端傳遞給服務(wù)器的內(nèi)容 和 服務(wù)器傳遞給客戶端的內(nèi)容 都屬于HTTP報(bào)文
起始行:請(qǐng)求起始行 響應(yīng)起始行
首部:請(qǐng)求首部 響應(yīng)首部 通用首部(請(qǐng)求和響應(yīng)都有的) 自定義首部
主體:請(qǐng)求主體 響應(yīng)主體
客戶端傳遞給服務(wù)器端數(shù)據(jù):
請(qǐng)求URL后面問號(hào)傳參的方式傳遞給服務(wù)器 /getList?name=zhangsan&age=7
設(shè)置請(qǐng)求的首部(設(shè)置請(qǐng)求頭信息)
設(shè)置請(qǐng)求主體,把傳遞給服務(wù)器的內(nèi)容放在請(qǐng)求主體中傳遞給服務(wù)器
服務(wù)器端傳遞給客戶端數(shù)據(jù):
設(shè)置響應(yīng)頭信息
設(shè)置響應(yīng)主體內(nèi)容
Ajax : async javascript and xml 異步的JS和XML(可擴(kuò)展的標(biāo)記語言,在XML文件中使用的標(biāo)簽都是自己擴(kuò)展的,利用自己擴(kuò)展的有規(guī)則的標(biāo)記來存儲(chǔ)相關(guān)的數(shù)據(jù))
Ajax是客戶端JS中的方法,用來向服務(wù)端發(fā)送請(qǐng)求(還可以傳遞給服務(wù)器端數(shù)據(jù)),然后把服務(wù)器端返回的內(nèi)容獲取到(Ajax一般是運(yùn)行在客戶端的瀏覽器中的)。
Ajax四步:
創(chuàng)建一個(gè)Ajax對(duì)象(下面的這種寫法在IE6及更低版本的瀏覽器中不支持)
var xhr = new XMLHttpRequest;
發(fā)送前的基本信息配置:配置請(qǐng)求方式(GET、POST、PUT、DELETE、HEAD...)
打開一個(gè)URL地址(配置向哪一個(gè)服務(wù)器地址發(fā)送請(qǐng)求)
同步還是異步(true代表異步 false代表同步 默認(rèn)是true)
[username]向服務(wù)器提供請(qǐng)求的用戶名
[userpass]向服務(wù)器提供請(qǐng)求的用戶密碼,這兩個(gè)值一般都不寫,只有服務(wù)器做了安全的限制,只允許特定的用戶訪問的話,我們才傳遞過去
xhr.open('get',"/data.txt",false,[username],[userpass]);
給onreadystatechange這個(gè)事件綁定一個(gè)方法,監(jiān)聽狀態(tài)的改變(只要狀態(tài)改變,就觸發(fā)方法執(zhí)行)
xhr.onreadystatechange = function(){
xhr.readyState:AJAX狀態(tài)碼,可以代表當(dāng)前處理的進(jìn)度
0 unset 當(dāng)前的請(qǐng)求還沒有發(fā)送
1 opened URL地址已經(jīng)打開(發(fā)送前的參數(shù)配置已經(jīng)完成)
2 headers_received 響應(yīng)頭信息已經(jīng)接受
3 loading 主要返回的內(nèi)容正在服務(wù)器端進(jìn)行準(zhǔn)備處理
4 done 響應(yīng)主體的內(nèi)容已經(jīng)成功返回給客戶端
xhr.status:HTTP網(wǎng)絡(luò)狀態(tài)碼,描述了服務(wù)器響應(yīng)內(nèi)容的狀態(tài)
200 OR ^2\d{2} (200或者以2開頭) -> 都代表響應(yīng)主體的內(nèi)容已經(jīng)成功返回了
301 永久重定向/永久轉(zhuǎn)移
302 臨時(shí)重定向/臨時(shí)轉(zhuǎn)移 服務(wù)器的負(fù)載均衡
304 本次獲取的內(nèi)容是讀取緩存中的數(shù)據(jù)
400 客戶端傳遞給服務(wù)器端的參數(shù)出現(xiàn)錯(cuò)誤
401 無權(quán)限訪問
404 客戶端訪問的地址不存在
500 未知的服務(wù)器錯(cuò)誤
503 服務(wù)器已經(jīng)超負(fù)荷
if(xhr.readyState===4 && /^2\d{2}$/.test(xhr.status)){
var val = xhr.responseText;
}
}
發(fā)送請(qǐng)求:參數(shù)是請(qǐng)求主體中傳遞給服務(wù)器的內(nèi)容
xhr.send(null);
總結(jié)
以上所述是小編給大家介紹的HTTP報(bào)文及ajax基礎(chǔ)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
按鈕的Ajax請(qǐng)求時(shí)一次點(diǎn)擊兩次提交的解決方法
像ajax請(qǐng)求發(fā)生兩次提交的原因是在執(zhí)行完ajax請(qǐng)求后,并沒有阻止submit的行為,下面小編給大家?guī)韮煞N按鈕的ajax請(qǐng)求時(shí)一次點(diǎn)擊兩次提交的解決方法,一起看看吧2016-09-09
SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)
這篇文章主要介紹了SpringMVC環(huán)境下實(shí)現(xiàn)的Ajax異步請(qǐng)求JSON格式數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2016-05-05
AJAX驗(yàn)證數(shù)據(jù)庫內(nèi)容并將值顯示在頁面
光標(biāo)離開文本框,在本頁面的相應(yīng)地方獲取數(shù)據(jù)庫中改值所對(duì)應(yīng)的其他數(shù)據(jù),相應(yīng)的實(shí)現(xiàn)代碼如下,感興趣的朋友可以看看2014-08-08
基于ajax html實(shí)現(xiàn)文件上傳技巧總結(jié)
這篇文章主要為大家詳細(xì)總結(jié)了基于ajax html實(shí)現(xiàn)文件上傳技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
一個(gè)AJAX自動(dòng)完成功能的js封裝源碼[支持中文]
一個(gè)AJAX自動(dòng)完成功能的js封裝源碼[支持中文]...2007-02-02
Ajax實(shí)現(xiàn)異步加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)異步加載數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
關(guān)于Ajax技術(shù)中servlet末尾的輸出流
這篇文章主要介紹了關(guān)于Ajax技術(shù)中servlet末尾的輸出流的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08

