課程
/前端開發
/JavaScript
/Ajax全接觸
ajax異步的問題,為什么onreadystatechange要寫在xmlhttp.send()的前面?越詳細越好
2017-08-18
源自:Ajax全接觸 7-1
正在回答
習慣而已,也可以放后面
readyState?屬性存有服務器響應的狀態信息。每當?readyState?改變時,onreadystatechange?函數就會被執行。下面是?readyState?屬性可能的值:狀態?描述?0????請求未初始化(在調用?open()?之前)?1????請求已提出(調用?send()?之前)?2????請求已發送(這里通??梢詮捻憫玫絻热蓊^部)?3????請求處理中(響應中通常有部分數據可用,但是服務器還沒有完成響應)?4????請求已完成(可以訪問服務器響應并使用它)
onreadystatechange寫在xmlhttp.send()的前面,是為了判斷請求是否成功:
例如:通過 xmlHttp給readyState變化綁定一個監聽事件
xmlHttp.onreadystatechange?=?function(){//xmlHttp的5種狀態都會調用本方法 ????if(request.readyState?==?4?&&?request.status?==?200){ //獲取服務器的響應內容 var?text?=?xmlHttp.responseText; ????} }
舉報
本課程通過一個案例,講解Ajax的相關概念原理實現方式和應用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-09-13
習慣而已,也可以放后面
2017-08-18
readyState?屬性存有服務器響應的狀態信息。每當?readyState?改變時,onreadystatechange?函數就會被執行。
下面是?readyState?屬性可能的值:
狀態?描述?
0????請求未初始化(在調用?open()?之前)?
1????請求已提出(調用?send()?之前)?
2????請求已發送(這里通??梢詮捻憫玫絻热蓊^部)?
3????請求處理中(響應中通常有部分數據可用,但是服務器還沒有完成響應)?
4????請求已完成(可以訪問服務器響應并使用它)
onreadystatechange寫在xmlhttp.send()的前面,是為了判斷請求是否成功:
例如:通過 xmlHttp給readyState變化綁定一個監聽事件
xmlHttp.onreadystatechange?=?function(){//xmlHttp的5種狀態都會調用本方法 ????if(request.readyState?==?4?&&?request.status?==?200){ //獲取服務器的響應內容 var?text?=?xmlHttp.responseText; ????} }