摘要:ajax:無刷新數(shù)據(jù)讀取,讀取服務(wù)器上的信息 ## HTTP請(qǐng)求方法: GET:用于獲取數(shù)據(jù),如瀏覽帖子
Ajax基礎(chǔ)
ajax:無刷新數(shù)據(jù)讀取,讀取服務(wù)器上的信息
HTTP請(qǐng)求方法:
GET:用于獲取數(shù)據(jù),如瀏覽帖子
ajax.judgeXmlHttpRequest('get','index.php',function(data){? ? alert(data);//這是服務(wù)器返回的數(shù)據(jù)})
POST:用于上傳數(shù)據(jù),如用戶注冊(cè)
vardataJson = {? ? name:'ys',age:123}ajax.judgeXmlHttpRequest('post','index.php',function(data){? ? alert(data);//這是服務(wù)器返回的數(shù)據(jù)},dataJson)
GET與POST的區(qū)別:
GET:通過網(wǎng)址傳遞(放入url中),會(huì)將傳遞的數(shù)據(jù)放到網(wǎng)址上面,名字=值&名字=值
get方式容量小,安全性低,有緩存
POST:不通過網(wǎng)址傳遞
post容量較大,一般可達(dá)2G,安全性相對(duì)較高,沒有緩存
原生Ajax的編寫
Ajax運(yùn)行步驟
創(chuàng)建一個(gè)Ajax對(duì)象
非IE6瀏覽器:
varoAjax=newXMLHttpRequest();
IE6瀏覽器:
varoAjax=newActiveXObject("Microsoft.XMLHTTP");
連接到服務(wù)器
Ajax.open(方法,文件名,異步傳輸);
阻止緩存方法:
Ajax.open('GET','a.txt?t='+newDate().getTime(),true);
同步:js中指事情必須一件一件來
異步:js中指多件事情要一起做
ajax是做異步傳輸?shù)?并不是同步
發(fā)送請(qǐng)求
Ajax.send();
接收返回值
請(qǐng)求狀態(tài)監(jiān)控:onreadystatechange事件:當(dāng)自己的Ajax與服務(wù)器之間有通訊時(shí)觸發(fā),主要通過readyState屬性來判斷結(jié)束沒有,結(jié)束了也并沒有代表成功,status屬性來判斷
readyState屬性:請(qǐng)求狀態(tài)
0(未初始化)還沒有調(diào)用open方法