掌握 AJAX訪問(wèn)原理
? ? ? 瀏覽器發(fā)送請(qǐng)求到服務(wù)器幕袱,服務(wù)器把處理結(jié)果響應(yīng)到瀏覽器,如果是ajax引擎發(fā)送的請(qǐng)求删壮,把響應(yīng)結(jié)果交給ajax引擎進(jìn)行處理
創(chuàng)建ajax請(qǐng)求的代碼是预明?
ajax.open()
發(fā)送ajax請(qǐng)求的代碼是柠逞?
ajax.send()
聲明ajax監(jiān)聽(tīng)的代碼
ajax.onreadystatechange=function(){}
ajax異步同步總結(jié)和ajax的get請(qǐng)求和ajax的post請(qǐng)求
ajax.open(method, url, asyncd)
method表示請(qǐng)求方式:
get請(qǐng)求:請(qǐng)求數(shù)據(jù)以?隔開(kāi)套像,添加到url后面
請(qǐng)求數(shù)據(jù)不能傳到send方法中
post請(qǐng)求:
post方法需要進(jìn)行單獨(dú)的進(jìn)行請(qǐng)求數(shù)據(jù)設(shè)置衣撬。
使用ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
設(shè)置請(qǐng)求數(shù)據(jù)為鍵值對(duì)數(shù)據(jù)乖订,如果有請(qǐng)求數(shù)據(jù)怎Ajax.send(鍵值對(duì)數(shù)據(jù)&鍵值對(duì)數(shù)據(jù)...),
如果沒(méi)有請(qǐng)求數(shù)據(jù)則ajax.send(NULL)
url:請(qǐng)求地址
asyncd:設(shè)置同步或者異步請(qǐng)求具练,ture表示異步乍构,false表示同步
異步:當(dāng)前js函數(shù)繼續(xù)執(zhí)行,不需要等待ajax請(qǐng)求響應(yīng)以及響應(yīng)的處理扛点;
同步:當(dāng)前js函數(shù)不會(huì)繼續(xù)執(zhí)行哥遮,需要等待ajax執(zhí)行完畢,才能繼續(xù)執(zhí)行
明確的ajax使用流程是?
流程:
1陵究、創(chuàng)建ajax引擎對(duì)象
2眠饮、聲明監(jiān)聽(tīng)函數(shù)
//判斷ajax狀態(tài)碼
//判斷響應(yīng)狀態(tài)碼
//獲取響應(yīng)信息(普通字符串,ajax字符串)
3畔乙、創(chuàng)建并發(fā)送請(qǐng)求
//創(chuàng)建請(qǐng)求(設(shè)置請(qǐng)求方式君仆,設(shè)置請(qǐng)求地址,設(shè)置同步或異步)
//發(fā)送請(qǐng)求
4牲距、其他處理
為什么需要json格式響應(yīng)數(shù)據(jù)
服務(wù)器響應(yīng)給瀏覽器的數(shù)據(jù)類型是字符串類型
如果數(shù)據(jù)比較大時(shí)返咱,請(qǐng)求數(shù)據(jù)需要拼接成一個(gè)良好格式的字符串?dāng)?shù)據(jù),這是就需要json格式
json數(shù)據(jù)的格式
var 對(duì)象名={
? ? 鍵名:值牍鞠,
? ? 鍵名:值,
? ? ......
? ? 鍵名:值
}
json的作用
? ? ? 保證對(duì)象中數(shù)據(jù)的緊密性與完整性
eval方法的作用是什么咖摹?
? ? ? 將字符串?dāng)?shù)據(jù)轉(zhuǎn)化成js對(duì)象
用eval方法將json字符串轉(zhuǎn)換對(duì)js對(duì)象的代碼是?
eval("var obj="+data);
gson包的作用是什么难述?使用哪個(gè)方法可以將Java對(duì)象轉(zhuǎn)換為對(duì)應(yīng)的json字符串
簡(jiǎn)化操作萤晴,提高開(kāi)發(fā)效率,把java對(duì)象直接轉(zhuǎn)換成json格式字符串
String str=new Gson().toJson(u);
實(shí)現(xiàn)用戶名校驗(yàn)的思路是什么胁后?
思路:
1店读、用戶寫(xiě)書(shū)用戶名,在失去焦點(diǎn)時(shí)進(jìn)行用戶校驗(yàn)
2攀芯、失去焦點(diǎn)發(fā)送數(shù)據(jù)到服務(wù)器屯断,服務(wù)器到數(shù)據(jù)庫(kù)查驗(yàn)是否有數(shù)據(jù)信息、
3、校驗(yàn)結(jié)果響應(yīng)給客戶端
4殖演、在當(dāng)前頁(yè)面氧秘,用戶框后顯示提示語(yǔ)
為什么要封裝ajax代碼。
在進(jìn)行使用ajax處理業(yè)務(wù)時(shí)趴久,很多代碼都是相同的丸相,編寫(xiě)時(shí)需要重復(fù)進(jìn)行編寫(xiě),封裝后可以提高開(kāi)發(fā)效率彼棍,增加可維護(hù)性
封裝的思想是什么灭忠?
相同封裝不同傳參
封裝的deal200的原理是什么?
? ? ? ? 在進(jìn)行使用ajax處理業(yè)務(wù)時(shí)滥酥,很多代碼都是相同的更舞,編寫(xiě)時(shí)需要重復(fù)進(jìn)行編寫(xiě),封裝后可以提高開(kāi)發(fā)效率坎吻,增加可維護(hù)性