Ajax

1.同步與異步的區(qū)別:

同步:提交請(qǐng)求->等待服務(wù)器處理->處理完畢返回 這個(gè)期間客戶端瀏覽器不能干任何事

異步: 請(qǐng)求通過事件觸發(fā)->服務(wù)器處理(這是瀏覽器仍然可以作其他事情)->處理完畢

2.get post區(qū)別(http請(qǐng)求方法)

get:用于獲取數(shù)據(jù),通過網(wǎng)址進(jìn)行數(shù)據(jù)傳遞(name=''&name1=''),容量小,不適合傳大數(shù)據(jù),安全性差,數(shù)據(jù)泄漏,有緩存

post:用于上傳數(shù)據(jù),不通過網(wǎng)址,容量大,安全性好一點(diǎn),沒緩存

2.如何使用Ajax從服務(wù)器獲取數(shù)據(jù)?

①創(chuàng)建對(duì)象

②連接到服務(wù)器,open方法

pen(方法, 文件名, 異步傳輸)

GET,POST ? ? ??URL ? ? ? ??true表示異步,flase表示同步,一般情況下是異步,默認(rèn)為true。

③發(fā)送ajax請(qǐng)求

xhr.readyState==4表示請(qǐng)求已經(jīng)結(jié)束,服務(wù)器響應(yīng)完成。

status表示http請(qǐng)求的狀態(tài),200表示正常響應(yīng);404表示資源找不到;500表示服務(wù)器端錯(cuò)誤

④發(fā)送ajax請(qǐng)求。

如果沒有數(shù)據(jù),可以不傳或者傳遞null;如果post請(qǐng)求傳遞數(shù)據(jù):首先設(shè)置xhr的請(qǐng)求頭信息:

xhr.setRequestHeader("Content-type","application/x-www-formurlencoded");

再傳遞參數(shù)send()

xhr.send(name=liujianhong&password=123);

dome:

封裝的函數(shù):Ajax.js

function ajax(url, fnSucc, fnFaild)

{

//1.創(chuàng)建Ajax對(duì)象,瀏覽器兼容性

if(window.XMLHttpRequest)

{

var oAjax=new XMLHttpRequest();

}

else

{

var oAjax=new ActiveXObject("Microsoft.XMLHTTP");

}

//2.連接服務(wù)器

//open(方法, 文件名, 異步傳輸)

oAjax.open('GET', url, true);

//3.發(fā)送請(qǐng)求

oAjax.send();

//4.接收返回

oAjax.onreadystatechange=function ()

{

//oAjax.readyState //瀏覽器和服務(wù)器,進(jìn)行到哪一步了

if(oAjax.readyState==4) //讀取完成

{

if(oAjax.status==200) //成功

{

fnSucc(oAjax.responseText);//獲取內(nèi)容

}

else

{

if(fnFaild)

{

fnFaild(oAjax.status);

}

//alert('失敗:'+oAjax.status);

}

}

};

}

調(diào)用:

ajax('a.txt', function (str){ alert(str); });

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容