#javascript #ajax
#javascript #ajax
Вопрос:
Я запускаю этот код через консоль на http://TheScoutApp.com в строке 3 я получаю исключение DOM 11!!!
var xhr2 = new XMLHttpRequest();
xhr2.onreadystatechange = function() {
console.error(xhr2.statusText); //DOM exception 11!!!
if (xhr2.readyState === 4 amp;amp; xhr2.status === 200) {
console.error('xhr2');
}
}
xhr2.open("GET","http://thescoutapp.com/extension/update.xml",true);
xhr2.send();
Комментарии:
1. Вы исследовали, что означает ошибка? В SO есть несколько других вопросов об этой конкретной ошибке.
2. Я сделал … так что, как я понимаю, я хочу использовать if вместо if (1 amp;amp; 2)
3. Поставить
open
передonreadystatechange
Ответ №1:
К свойству xhr.statusText можно получить доступ только после завершения запроса. Но обратный вызов onreadystatechange вызывается раньше — более ранние вызовы имеют xhr.readyState==1 (= установлено соединение с сервером).
Вы должны поместить оценку xhr.statusText внутри условия:
if(xhr.readyState == 4) {
console.error(xhr.statusText);
}