2016-09-17 73 views
0

XMLHttpRequest Level 2在onreadystatechange之一上添加了許多更有意義的事件。XMLHttpRequest Level 2事件:等同於readyState

這些事件中的一些與readyState值之間是否存在對應關係?

至於我可以告訴大家:

1 loadstart 
2 progress 
3 ? 
4 loadend; load 

我還沒有制定出相當於3,這是一個有點模糊的反正。

+0

根據[此](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)進度是readystate 3 –

+0

你看過規格嗎? https://www.w3.org/TR/XMLHttpRequest2/#the-responsetype-attribute這個笑話是,它沒有什麼...... :)它指向你https://xhr.spec.whatwg.org/ – epascarello

回答

0

這裏就是我發現使用下面的代碼:

var oReq = new XMLHttpRequest(); 

oReq.addEventListener("progress", ev); 
oReq.addEventListener("load", ev); 
oReq.addEventListener("loadstart", ev); 
oReq.addEventListener("loadend", ev); 
oReq.addEventListener("readystatechange", ev); 


oReq.open('GET', '/blah'); 

function ev(e) { 
    console.log(e.type, oReq.readyState); 
} 
oReq.send(); 

輸出結果

readystatechange 1 
loadstart 1 
readystatechange 2 
readystatechange 3 
progress 3 
readystatechange 4 
load 4 
loadend 4 

所以現在看來​​,這是

  1. loadstart
  2. ??? - 沒有等效 - (這是接收到的報頭)
  3. 進展
  4. 負載/ loadend
+0

它似乎「進度」可能依賴於瀏覽器。 Safari將其報告爲狀態2,而Chrome和Firefox將其報告爲3. – Manngo

+0

Safari正在成爲新的Internet Explorer:p –

+0

除Safari正在運行... – Manngo