原生AJAX寫(xiě)法實(shí)例分析
本文實(shí)例分析了原生AJAX寫(xiě)法。分享給大家供大家參考。具體分析如下:
雖然現(xiàn)在很多JS的框架提供了AJAX的調(diào)用方法,我們甚至不用去了解其具體的實(shí)現(xiàn)原理就可以直接調(diào)用了,但是我認(rèn)為不去從最基礎(chǔ)的層面了解一個(gè)東西,就很難做到最好。
var XHR=null;
if (window.XMLHttpRequest) {
// 非IE內(nèi)核
XHR = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// IE內(nèi)核,這里早期IE的版本寫(xiě)法不同,具體可以查詢下
XHR = new ActiveXObject("Microsoft.XMLHTTP");
} else {
XHR = null;
}
if(XHR){
XHR.open("GET", "ajaxServer.action");
XHR.onreadystatechange = function () {
// readyState值說(shuō)明
// 0,初始化,XHR對(duì)象已經(jīng)創(chuàng)建,還未執(zhí)行open
// 1,載入,已經(jīng)調(diào)用open方法,但是還沒(méi)發(fā)送請(qǐng)求
// 2,載入完成,請(qǐng)求已經(jīng)發(fā)送完成
// 3,交互,可以接收到部分?jǐn)?shù)據(jù)
// status值說(shuō)明
// 200:成功
// 404:沒(méi)有發(fā)現(xiàn)文件、查詢或URl
// 500:服務(wù)器產(chǎn)生內(nèi)部錯(cuò)誤
if (XHR.readyState == 4 && XHR.status == 200) {
// 這里可以對(duì)返回的內(nèi)容做處理
// 一般會(huì)返回JSON或XML數(shù)據(jù)格式
console.log(XHR.responseText);
// 主動(dòng)釋放,JS本身也會(huì)回收的
XHR = null;
}
};
XHR.send();
}
希望本文所述對(duì)大家的Ajax程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于多個(gè)Ajax請(qǐng)求執(zhí)行返回先后的問(wèn)題示例探討
這篇文章主要與大家探討下關(guān)于多個(gè)Ajax請(qǐng)求執(zhí)行返回先后的問(wèn)題,需要的朋友可以參考下2014-07-07
基于Ajax的聊天機(jī)器人功能的實(shí)現(xiàn)
這篇文章主要介紹了基于Ajax的聊天機(jī)器人,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能
這篇文章主要介紹了利用 FormData 對(duì)象和 Spring MVC 配合實(shí)現(xiàn)Ajax文件下載功能,需要的朋友可以參考下2017-08-08
ajax AjaxDownloader.js[modified]
漏洞版本老啦,實(shí)用性不夠了,just have fun!2008-07-07
如何利用jQuery post傳遞含特殊字符的數(shù)據(jù)
在jquery中,解決數(shù)據(jù)傳遞處理的方法我們通常利用$.ajax或$.post,但是這里這里通常不能傳遞特殊字符,比如說(shuō):“<”,本文就幫大家解決如何傳遞這種含特殊字符的數(shù)據(jù),感興趣的朋友一起看下吧2015-10-10
HTTP狀態(tài)代碼及其定義解析 Ajax捕捉回調(diào)錯(cuò)誤參考
當(dāng)用戶試圖通過(guò) HTTP 訪問(wèn)一臺(tái)正在運(yùn)行 Internet 信息服務(wù) (IIS) 的服務(wù)器上的內(nèi)容時(shí),IIS 返回一個(gè)表示該請(qǐng)求的狀態(tài)的數(shù)字代碼。狀態(tài)代碼可以指明具體請(qǐng)求是否已成功,還可以揭示請(qǐng)求失敗的確切原因2013-11-11

