Ajax主要的功能是實(shí)現(xiàn)了瀏覽器端 異步 訪問服務(wù)器:通過瀏覽器的XMLHttpRequest對象發(fā)出小部分?jǐn)?shù)據(jù),與服務(wù)端進(jìn)行交互,服務(wù)端返回小部分?jǐn)?shù)據(jù),然后更新客戶端的部分頁面。
目前成都創(chuàng)新互聯(lián)公司已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、洛寧網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1.先實(shí)例化XMLHttpRequest對象
var request; if (window.XMLHttpRequest){ request=new XMLHttpRequest(); } else{ request=new ActiveXObject("Microsoft.XMLHTTP"); //兼容ie5 6 }
2.XMLHttpRequest的方法將請求發(fā)送給服務(wù)器
request.open("POST",get.php,true);//請求 //設(shè)置http的頭信息,告訴服務(wù)器我們要以send鍵值對方式發(fā)送一個表單, request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //POST必須設(shè)置Content-Type的值在open與send之間 request.send("name=王二狗&sex=男");//用send方法提交給服務(wù)端
3.獲取響應(yīng)的方法
responseText 獲得字符串形式的響應(yīng)數(shù)據(jù) responseXML 獲得XML形式的響應(yīng)數(shù)據(jù) status和statusText 以數(shù)字和文本形式返回HTTP狀態(tài)碼 getAllResponseHeader() 獲取所有的響應(yīng)報頭 getResponseHeader() 查詢響應(yīng)中的某個字段的值
4.監(jiān)聽readyState屬性的變化很重要
為0 請求未初始化,open還沒有被調(diào)用
為1 服務(wù)器連接已建立,open已經(jīng)調(diào)用了
為2 請求已被接收,接收到頭的信息了
為3 請求處理中,接收到響應(yīng)體了
為4 請求已完成,且響應(yīng)就緒,響應(yīng)完成了
//readyState變化時觸發(fā) //通過onreadystatechange事件判斷readyState屬性的變化 request.onreadystatechange=function(){ if(request.readyState===4&&request.status===200){ //做一些事情 比如獲取響應(yīng)數(shù)據(jù)request.responseText } }
5.完整XHR
var request=new XMLHttpRequest();//1.創(chuàng)建XHR對象 request.open("GET","get.php?number=" +表單里需要提交的數(shù)據(jù),true);//2.調(diào)用open方法 //這里如果是post請求。send的就是一個包含數(shù)據(jù)的對象 request.send();//發(fā)送一些數(shù)據(jù) request.onreadystatechange=function(){ //3.進(jìn)行監(jiān)聽判斷服務(wù)器是否正確響應(yīng) if(request.readyState===4&&request.status===200){ //4.做一些事情 比如獲取服務(wù)器響應(yīng)內(nèi)容request.responseText } }
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持創(chuàng)新互聯(lián)!