優點:
缺點:
核心:
工作原理:
對比:
1. xmlhtttprequest物件 是ajax技術 的核心
2. xhr物件 的屬性
readystate:返回 請求的狀態(數字格式) 狀態
名稱描述
0uninitialized
初始化狀態:xmlhttprequest 物件已建立 或 已被 abort() 方法重置
1open
請求還沒有被傳送:open() 方法已呼叫,但是 send() 方法未呼叫。
2send
未接收到響應:send() 方法已呼叫,http 請求已傳送到 web 伺服器
3receiving
所有響應頭部都已經接收到 、響應體開始接收但未完成
響應已經完全接收
responsetext:返回 響應體(字串格式)
respon***ml:返回的響應體(xml格式)
status:由伺服器返回的 http 狀態碼(數字格式)
statustext:由伺服器返回的 http 狀態(詳細描述)
3. xhr物件 的方法
open( )初始化http請求,但不傳送請求
作用:
send( )傳送 http 請求(會開啟乙個web 伺服器的網路連線)
作用:
特殊情況:
setrequestheader()設定請求頭
約束:此方法設定請求頭資訊,必須在 呼叫open( )
之後 且 呼叫send( )
之前
請求頭中包含:
getresponseheader()獲取指定請求頭
getallresponseheaders();獲取所有請求頭
4. xhr物件 的事件
onreadystatechangereadystate 改變時 會觸發 此事件
// 舉例1:jquery 的 ajax 請求如下
$.ajax(, //請求引數
datatype: 'json',
success: (response) =>
});// 舉例2:封裝的 原生ajax 請求如下
function
ajaxmy
(options) = options;
// 處理引數
type = type.touppercase();
datatype = datatype ? datatype : 'json';
let xhr = null;
// 1. 建立 xhr 物件
// 2. 初始化 並 傳送請求
if (type === 'get') =$&`;
}requestparams = requestparams.slice(0, -1);
xhr.open('get', url + requestparams);
xhr.send(null);
} else
if (type === 'post')
// 3. 監聽
xhr.onreadystatechange = () => else }}
}ajaxmy(,
datatype: 'json',
success: (response) =>
});script>
封裝原生ajax
封裝原生ajax四個步驟 類似於手機打 建立xmlhttprequest物件 買手機 開啟與伺服器的連線 撥號 傳送到伺服器 按下撥號鍵 等待伺服器的響應 有可能關機,不在服務區,無人接聽,有人接聽 function ajax obj else data user xiaocuo age 23 if...
原生ajax解析 封裝原生ajax函式
前沿 對於此篇隨筆,完是簡要寫了幾個重要的地方,具體實現細節完在提供的原始碼做了筆記 一 ajax基本要點介紹 更好的介紹ajax 1.ajax物件中new xmlhttprequest 屬性和方法列表 2.常用事件介紹 事件觸發時機 onreadystatechange 當readystate的值...
原生ajax封裝請求
封裝ajax function ajax obj else 2.開啟請求 第乙個引數表示請求方式,值為get post,是字串 第二個引數表示請求的位址 第三個引數是布林值,預設是true表示非同步,false表示同步 xhr.open obj.type,obj.url,obj.async 3.判斷...