ajax的工作原理以及異步請求的封裝介紹
更新時間:2013年09月23日 09:13:47 作者:
客戶端通過瀏覽器的內(nèi)置對象XMLHttpRequest來發(fā)送異步請求,當(dāng)服務(wù)器返回響應(yīng)時,會調(diào)用先前注冊的回調(diào)函數(shù),異步請求不會阻塞客戶端的操作,達(dá)到頁面無法刷新就可以更新數(shù)據(jù)的效果
Ajax原理:
客戶端通過瀏覽器的內(nèi)置對象XMLHttpRequest來發(fā)送異步請求,當(dāng)服務(wù)器返回響應(yīng)時,會調(diào)用先前注冊的回調(diào)函數(shù),在回調(diào)函數(shù)中可以使用javascript操作DOM來更新頁面,異步請求不會阻塞客戶端的操作,達(dá)到頁面無法刷新就可以更新數(shù)據(jù)的效果。
異步請求的封裝:
var xhr=false;
//step1:創(chuàng)建一個兼容瀏覽器各個版本的XMLHttpRequest對象
if (window.XMLHttpRequest) { //IE7+, Firefox, Chrome, Opera, Safari
xhr = new XMLHttpRequest();
} else {
if (window.ActiveXObject) { //IE瀏覽器
xhr = new ActiveXObject("Microsoft.XMLHTTP");//IE5+
}
}
//step2:設(shè)置回調(diào)函數(shù)
xhr.onreadystatechange = myCallback;
//step3:創(chuàng)建一個異步請求
xhr.open("method", "url", true);
//如果是post:要設(shè)置請求消息體數(shù)據(jù)的編碼方式
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//step4:發(fā)送異步請求
xhr.send(content); //如果是get方式 content為null,若為post,content為“名=值”對。
客戶端通過瀏覽器的內(nèi)置對象XMLHttpRequest來發(fā)送異步請求,當(dāng)服務(wù)器返回響應(yīng)時,會調(diào)用先前注冊的回調(diào)函數(shù),在回調(diào)函數(shù)中可以使用javascript操作DOM來更新頁面,異步請求不會阻塞客戶端的操作,達(dá)到頁面無法刷新就可以更新數(shù)據(jù)的效果。
異步請求的封裝:
復(fù)制代碼 代碼如下:
var xhr=false;
//step1:創(chuàng)建一個兼容瀏覽器各個版本的XMLHttpRequest對象
if (window.XMLHttpRequest) { //IE7+, Firefox, Chrome, Opera, Safari
xhr = new XMLHttpRequest();
} else {
if (window.ActiveXObject) { //IE瀏覽器
xhr = new ActiveXObject("Microsoft.XMLHTTP");//IE5+
}
}
//step2:設(shè)置回調(diào)函數(shù)
xhr.onreadystatechange = myCallback;
//step3:創(chuàng)建一個異步請求
xhr.open("method", "url", true);
//如果是post:要設(shè)置請求消息體數(shù)據(jù)的編碼方式
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//step4:發(fā)送異步請求
xhr.send(content); //如果是get方式 content為null,若為post,content為“名=值”對。
您可能感興趣的文章:
相關(guān)文章
ajax用json實現(xiàn)數(shù)據(jù)傳輸
本文主要介紹了ajax用json實現(xiàn)數(shù)據(jù)傳輸?shù)姆椒ǎ哂泻芎玫膮⒖純r值。下面跟著小編一起來看下吧2017-03-03在layer彈出層中通過ajax返回html拼接字符串填充數(shù)據(jù)的方法
這篇文章主要介紹了在layer彈出層中通過ajax返回html拼接字符串填充數(shù)據(jù)的方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11