Разница между onreadystatechange и onload - PullRequest
0 голосов
/ 15 марта 2020

Я проверил два вида занятий XHR:

1.

xhr.onreadystatechange = function() {

            if (this.readyState == 4 && xhr.status !== 500) {

                function getElementByXpath(path) {

2.

xhr.onload= function() {

                function getElementByXpath(path) {

и не понял никакой разницы. Может ли кто-нибудь указать мне на это? Или действительно никого нет?

1 Ответ

1 голос
/ 15 марта 2020
Событие

A readystatechange происходит каждый раз, когда изменяется readyState (что несколько раз). Событие

A load происходит только после успешного выполнения запроса.

В вашем примере вы добавляете несколько дополнительных тестов в ваш обработчик readystatechange, чтобы проверить, достигло ли оно конечного состояния (4 (если нет ошибок определенного типа, в этом случае это будет 0)) и чтобы убедиться, что это не ошибка 500. Существуют другие ошибки, которые не вызывают событие load.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...