第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js onreadystatechange 和 onload區(qū)別

js onreadystatechange 和 onload區(qū)別

BIG陽 2019-03-13 10:09:27
js onreadystatechange 和 onload區(qū)別
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

XMLHttpRequest 對象的 onload 回調函數(shù)是在異步請求加載完成后所執(zhí)行的函數(shù),當JavaScript 監(jiān)測到請求的數(shù)據(jù)全部傳輸完成后就會觸發(fā)該函數(shù)。而 open() 函數(shù)設置異步請求的 method、URL 和同步方式等參數(shù),執(zhí)行 open() 后再執(zhí)行 send() 函數(shù)才開始向服務器發(fā)送請求。

另外,onload 回調函數(shù)實際上是 XHR2 中新加入的功能,部分瀏覽器可能不支持這個函數(shù)名。要避免不兼容的現(xiàn)象,可以使用傳統(tǒng)  XMLHttpRequest,如:

1

2

3

4

5

6

7

8

9

10

11

//省略其他代碼

request.onreadystatechange=function() // 狀態(tài)改變回調函數(shù)

{

  // 判斷 request.readyState==4 的效果等同于 onload 

  if(request.readyState==4 && request.status==200)

  {

    // 加載且響應正常完成后執(zhí)行的代碼.... 

  }

}

request.open("GET",url,true); // 打開對象,也可以說是設置參數(shù)

request.send(); // 發(fā)送請求

 

還有一些誤解需要澄清一下,

  1. window.onload 回調函數(shù)其實是在頁面加載完成后(包括圖片內容的顯示)才會執(zhí)行,并不是頁面加載的等待過程中就執(zhí)行。

  2. request.open() 并沒有發(fā)送請求,只是設置一些參數(shù),在 send() 時才會發(fā)送(注意不要漏寫這條語句),發(fā)送后就會進入 readyState 監(jiān)聽狀態(tài),當 readyState 的值有改變就會執(zhí)行 onreadystatechange 回調函數(shù),當異請求的步數(shù)據(jù)接收完成(即      readyState 變?yōu)?4)后就會執(zhí)行      onload 回調函數(shù)(注意僅在 XHR2 中有效)。

 


查看完整回答
反對 回復 2019-03-21
  • 2 回答
  • 0 關注
  • 2145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號