XMLHttpRequest onload属性?

时间:2011-10-24 02:10:13

标签: javascript ajax xmlhttprequest

我喜欢在没有jquery的情况下尽可能多地执行代码,因此对于ajax请求,我一直在做一些与MDN所说的相似的事情:

function alertContents(httpRequest) {  
  try {  
    if (httpRequest.readyState === 4) {  
      if (httpRequest.status === 200) {  
        alert(httpRequest.responseText);  
      } else {  
        alert('There was a problem with the request.');  
      }  
    }  
  }  
  catch( e ) {  
    alert('Caught Exception: ' + e.description);  
  }  
}  

我正在查看Google教程以进行扩展,他们使用了他们的请求。 onload是一个事件监听,当readystate为4且状态为200时运行吗?如果没有,它是什么,我何时使用它而不是上述方法。

1 个答案:

答案 0 :(得分:2)

具有交叉源的XHR级别2实现除onreadystatechange之外的其他事件,这些事件是进度事件(指定statechange); loadstart,progress,error,abort,load,loadend

您可以将onload事件用作预先检查的readystate 4,然后继续检查XHR状态(200 - > 300 || 304我想象)