亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

ajax請(qǐng)求失敗處理方式 ajax請(qǐng)求失敗怎么處理


ajax請(qǐng)求失敗處理方式 ajax請(qǐng)求失敗怎么處理

文章插圖
一、ajax介紹ajax 是前后端交互的重要手段或橋梁 。它不是一個(gè)技術(shù),是一組技術(shù)的組合 。
ajax :a:異步;j:js;a:和;x:服務(wù)端的數(shù)據(jù) 。
ajax的組成:
異步的 js 事件其他 js (處理解析數(shù)據(jù))XMLHttpRequest 對(duì)象數(shù)據(jù)(txt、json、xml、html)通過后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,ajax可以使網(wǎng)頁實(shí)現(xiàn)異步更新 。也就是在不需要重新加載整個(gè)網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù) 。傳統(tǒng)的網(wǎng)頁不使用ajax,如果需要更新內(nèi)容,必須重新加載整個(gè)頁面 。
ajax請(qǐng)求原理:創(chuàng)建一個(gè)網(wǎng)絡(luò)請(qǐng)求對(duì)象 -> 發(fā)送連接請(qǐng)求 -> 發(fā)送請(qǐng)求數(shù)據(jù) -> 檢查網(wǎng)絡(luò)請(qǐng)求對(duì)象的狀態(tài) -> 如果響應(yīng)成功了 -> 瀏覽器接收返回?cái)?shù)據(jù)并更新網(wǎng)頁 。接下來詳細(xì)介紹對(duì)象的創(chuàng)建以及它的方法 。
二、創(chuàng)建 XMLHttpRequest 對(duì)象XMLHttpRequest 對(duì)象,用于后臺(tái)與服務(wù)器之間的數(shù)據(jù)交換,意味著可以在不加載整個(gè)網(wǎng)頁的情況下,更新部分內(nèi)容或數(shù)據(jù) 。現(xiàn)代瀏覽器基本都支持,但是低版本的IE不支持,如果我們考慮IE兼容問題創(chuàng)建對(duì)象的時(shí)候需要兼容創(chuàng)建 。
考慮兼容時(shí)創(chuàng)建的對(duì)象:
var xhr ;if( window.XMLHttpRequest ){ //檢查瀏覽器是否支持XMLHttpRequest xhr = new XMLHttpRequest()}else{ xhr = new ActiveXObject("Microsoft.XMLHTTP") //兼容IE6IE5}三、XMLHttpRequest的方法3.1、open( )
設(shè)置請(qǐng)求的類型、請(qǐng)求接口、是否異步處理 。
使用語法:open( method , url , async )
method:設(shè)置網(wǎng)絡(luò)請(qǐng)求的類型,常用的 get 和 posturl:設(shè)置請(qǐng)求的接口也就是服務(wù)器的地址async:true時(shí)表示異步,false表示同步3.2、send( )
將請(qǐng)求發(fā)送到服務(wù)器 。
使用語法:send( string )
string,只用在請(qǐng)求方式是post時(shí),發(fā)送給服務(wù)器的數(shù)據(jù) 。數(shù)據(jù)是鍵值對(duì)格式的,如:”name=jack&pwd=1234″使用發(fā)送方式不同的時(shí)候,傳輸數(shù)據(jù)添加方式也不同,所以我們介紹下分別為post和get時(shí),數(shù)據(jù)是如何發(fā)送的?
3.3、提交方式
使用 get 方式提交get發(fā)送請(qǐng)求時(shí),需要傳給后臺(tái)的數(shù)據(jù)通過url來傳遞,多個(gè)參數(shù)之間使用 & 符號(hào)連接,使用時(shí)如下:
xhr.opn( "GET" , "1.php?name=hello&age=world" , true )xhr.send()使用 post 方式提交使用 post 方式發(fā)送請(qǐng)求時(shí),使用send來發(fā)送數(shù)據(jù),有時(shí)需要設(shè)置數(shù)據(jù)格式,類似表單那樣,此時(shí)可通過 setRequestHeader 設(shè)置發(fā)送的數(shù)據(jù)格式
xhr.setRequestHeader( "Content-type", "application/x-www-form-urlencoded")Content-type常見類型:
text/plain 純文本,基本不怎么用application/x-www-form-urlcoded 鍵值對(duì)格式傳值,多個(gè)參數(shù)使用&連接multipart/form-data 定界符,分隔各個(gè)數(shù)據(jù),經(jīng)常用于上傳文件四、readyState 屬性readyState 存有 XMLHttpRequest 的狀態(tài),它的值從 0-4 發(fā)生變化,分別代表的意義:
0:請(qǐng)求初始化,對(duì)象剛剛創(chuàng)建1:服務(wù)器已連接2:已發(fā)送,send發(fā)放已調(diào)用3:已接收,此時(shí)只接收了響應(yīng)(response)頭部分4:已接收,此時(shí)接收響應(yīng)(response)體信息每當(dāng) readyState 狀態(tài)值發(fā)生改變時(shí)會(huì),就會(huì)觸發(fā) onreadystatechange 事件,對(duì)應(yīng)著每個(gè)狀態(tài)值就會(huì)被觸發(fā)五次 。當(dāng)狀態(tài)值為 4 時(shí)表示網(wǎng)絡(luò)請(qǐng)求響應(yīng)完畢,就可以獲取返回的值 。
xhr.onreadystateChange = function(){ if( xhr.readyState==4 ){if( xhr.status>=200 && xhr.status<300 || xhr.status==304 ){console.log("請(qǐng)求成功",xhr.responseXML)}else{console.log("請(qǐng)求失敗")} }}五、響應(yīng)信息通常我們需要獲取服務(wù)器返回的信息,然后對(duì)我們的網(wǎng)頁做相對(duì)應(yīng)的結(jié)果展示,通常使用 XMLHttpRequest 的 responseText 或 responseXML 屬性 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: