Ошибка при сбое: INVALID_STATE_ERR: исключение DOM 11

Я получаю следующую ошибку.

Ошибка поиска: INVALID_STATE_ERR: исключение DOM 11

Вот код, где я получаю сообщение об ошибке RUN TIME.

xhttp.setRequestHeader("Content-type","application/xhtml+xml");<br>
xhttp.open("POST",xmlFile,true);<br>
xhttp.send(postData);

Я попытался с false в третьем параметре xhttp.open.
Может ли кто-нибудь сказать мне, что это значит?

Ответ 1

Ошибка происходит от порядка выполнения:

xhttp.open("POST",xmlFile,true);
xhttp.setRequestHeader("Content-type","application/xhtml+xml");
xhttp.send(postData);

Сначала вы должны открыть соединение, а затем установить заголовок запроса, иначе вы получите сообщение об ошибке.

Ответ 2

XMLHttpRequest::Status недоступен, пока XMLHttpRequest::readyState не изменится на 4 т.е. правильный ответ был получен с сервера и теперь заселен в переменной Status.

Таким образом, доступ к XMLHttpRequest:: Status рано может привести к этой ошибке.

Решение: сначала проверьте readyState и только после успеха — доступ Status

if (xmlhttp.readyState==4)
{
    switch (xmlhttp.status)
    {
    case 200: // Do the Do
        break;
    case 404: // Error: 404 - Resource not found!
        break;
    default:  // Error: Unknown!
    }
}