onreadystatechange和onload之间的差异



我测试了两种做XHR:的方法

1.

xhr.onreadystatechange = function() {
if (this.readyState == 4 && xhr.status !== 500) {
function getElementByXpath(path) {

2.

xhr.onload= function() {
function getElementByXpath(path) {

没有意识到任何区别。有人能给我指一下吗?还是真的没有人?

每次readyState更改时(多次更改(都会触发readystatechange事件。

只有当请求成功完成时,才会触发load事件。

在您的示例中,您向readystatechange处理程序添加了一些额外的测试,以测试它是否已达到最终状态(4(除非存在某些类型的错误,在这种情况下它将是0((,并确保它不是500错误。还有其他错误不会触发load事件。

最新更新