摘要:它可以發(fā)送和接收各種格式的信息,包括,,和文本文件。以文本字符串的形式返回服務(wù)器響應(yīng)作為可以使用函數(shù)遍歷的對(duì)象返回響應(yīng)
簡介
Ajax, 是使用XMLHttpRequest對(duì)象與服務(wù)器進(jìn)行通信。它可以發(fā)送和接收各種格式的信息,包括JSON,XML,HTML和文本文件。它有以下兩個(gè)功能:
在不重新加載頁面的情況下向服務(wù)器發(fā)出請(qǐng)求
接收并處理來自服務(wù)器的數(shù)據(jù)
步驟 1 創(chuàng)建XMLHttpRequest對(duì)象if (window.XMLHttpRequest) { // 新瀏覽器... httpRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { // 舊瀏覽器 httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }步驟 2 為XMLHttpRequest對(duì)象分配處理函數(shù) 方法1 分配函數(shù)
httpRequest.onreadystatechange = nameOfTheFunction;方法2 分配匿名函數(shù)
httpRequest.onreadystatechange = function () {};步驟 3 通過open( ),send( )作出HTTP請(qǐng)求
httpRequest.open("GET", "[http://www.example.org/some.file](http://www.example.org/some.file)", true); httpRequest.send();open( ) 方法
參數(shù)1 HTTP請(qǐng)求的方法 GET、 POST、 HEAD 等,需大寫
參數(shù)2 發(fā)送請(qǐng)求的URL
參數(shù)3 異步選項(xiàng)
如果使用POST方法,則send的參數(shù)為想要發(fā)送到服務(wù)器的任何數(shù)據(jù)
步驟 4 處理服務(wù)器響應(yīng) 1.檢查請(qǐng)求狀態(tài)if (httpRequest.readyState === 4) { // Everything is good, the response was received. } else { // Not ready yet. }
請(qǐng)求狀態(tài)代碼
0(未初始化)或(請(qǐng)求未初始化)
1(加載)或(建立服務(wù)器連接)
2(已加載)或(請(qǐng)求收到)
3(交互式)或(處理請(qǐng)求)
4(完成)或(請(qǐng)求完成,響應(yīng)準(zhǔn)備就緒)
2.檢查HTTP響應(yīng)代碼通過檢查200OK響應(yīng)代碼,區(qū)分AJAX調(diào)用是否成功
if (httpRequest.status === 200) { // Perfect! } else { // There was a problem with the request. // For example, the response may have a 404 (Not Found) // or 500 (Internal Server Error) response code. }3.進(jìn)行數(shù)據(jù)操作
在檢查請(qǐng)求的狀態(tài)和響應(yīng)的HTTP狀態(tài)代碼之后,可以使用服務(wù)器發(fā)送的數(shù)據(jù)進(jìn)行任何所需的操作。
httpRequest.responseText - 以文本字符串的形式返回服務(wù)器響應(yīng)
httpRequest.responseXML- 作為XMLDocument可以使用JavaScript DOM函數(shù)遍歷的對(duì)象返回響應(yīng)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/84922.html
摘要:原生與對(duì)的實(shí)現(xiàn)一定義里這么解釋異步的和。二原生實(shí)現(xiàn)所有現(xiàn)代瀏覽器以及均內(nèi)建對(duì)象。一般是正常未找到頁面,一般是錯(cuò)誤,或者后臺(tái)沒有創(chuàng)建相應(yīng)的內(nèi)部服務(wù)錯(cuò)誤,多為后臺(tái)錯(cuò)誤。基本上通過發(fā)送的數(shù)據(jù)及傳回的數(shù)據(jù)就能定位問題所在了。 原生JS與jQuery對(duì)AJAX的實(shí)現(xiàn) 一、定義 W3C里這么解釋AJAX: AJAX = Asynchronous JavaScript and XML(異步的 Jav...
摘要:使用過的同學(xué),應(yīng)該對(duì)事件綁定方法有一定的了解。實(shí)現(xiàn)方式以下為個(gè)人類庫中實(shí)現(xiàn)方式。代碼中使用到一個(gè)基礎(chǔ)方法對(duì)象,該對(duì)象為的基礎(chǔ)類。如果想了解更多,可以通過點(diǎn)擊進(jìn)入查看原碼。 使用過jQuery的同學(xué),應(yīng)該對(duì)事件綁定方法ajax有一定的了解。 在個(gè)人類庫jTool 中實(shí)現(xiàn)了這個(gè)方法,這里就來細(xì)說下原生實(shí)現(xiàn)方式。 實(shí)現(xiàn)方式 以下為個(gè)人類庫jTool 中 Ajax 實(shí)現(xiàn)方式。代碼中使用到一個(gè)基...
摘要:作者后臺(tái)使用的是語言,所以這里以后臺(tái)為例子不影響學(xué)習(xí)一原生使用方法創(chuàng)建對(duì)象兼容處理處理低版本不兼容問題準(zhǔn)備發(fā)送請(qǐng)求方式接口參數(shù)名參數(shù)值異步執(zhí)行發(fā)送回調(diào)是表示數(shù)據(jù)解析完成,后臺(tái)處理完成了。是表示處理的結(jié)果是的。 作者后臺(tái)使用的是php語言,所以這里以php后臺(tái)Api為例子,不影響學(xué)習(xí)Ajax 一、 javaScript原生使用Ajax 1.get方法 //1.創(chuàng)建對(duì)象 兼容處理 var ...
摘要:一直在用方法來寫請(qǐng)求,用的多了,不免對(duì)這其中是怎么實(shí)現(xiàn)的產(chǎn)生了興趣,于是乎,小弟閑來無聊研究了一下原生實(shí)現(xiàn)請(qǐng)求,網(wǎng)上看了很多前輩們的關(guān)于請(qǐng)求的封裝方法,也借鑒了很多經(jīng)驗(yàn),于是乎就出現(xiàn)了小弟的一個(gè)原生封裝的版本,希望大家看了之后能夠明白,下面 一直在用jQuery方法來寫ajax請(qǐng)求,用的多了,不免對(duì)這其中是怎么實(shí)現(xiàn)的產(chǎn)生了興趣,于是乎,小弟閑來無聊研究了一下原生實(shí)現(xiàn)ajax請(qǐng)求,網(wǎng)上看...
摘要:一直在用方法來寫請(qǐng)求,用的多了,不免對(duì)這其中是怎么實(shí)現(xiàn)的產(chǎn)生了興趣,于是乎,小弟閑來無聊研究了一下原生實(shí)現(xiàn)請(qǐng)求,網(wǎng)上看了很多前輩們的關(guān)于請(qǐng)求的封裝方法,也借鑒了很多經(jīng)驗(yàn),于是乎就出現(xiàn)了小弟的一個(gè)原生封裝的版本,希望大家看了之后能夠明白,下面 一直在用jQuery方法來寫ajax請(qǐng)求,用的多了,不免對(duì)這其中是怎么實(shí)現(xiàn)的產(chǎn)生了興趣,于是乎,小弟閑來無聊研究了一下原生實(shí)現(xiàn)ajax請(qǐng)求,網(wǎng)上看...
閱讀 3029·2021-11-24 10:21
閱讀 1598·2021-10-11 10:57
閱讀 2813·2021-09-22 15:24
閱讀 2675·2021-09-22 14:58
閱讀 2336·2019-08-30 13:16
閱讀 3487·2019-08-29 13:05
閱讀 3418·2019-08-29 12:14
閱讀 3456·2019-08-27 10:55