Почему свойство объекта XMLHttpRequest, статус 200, когда файл не существует - PullRequest
0 голосов
/ 28 августа 2018

Почему свойство status равно 200, если URL файла неверен:

var xhttp= new XMLHttpRequest();
 xhttp.onload=function(){
 console.log(xhttp.status);
 }
 xhttp.open('GET','notexist.php',false);
 xhttp.send();

У меня нет notexist.php на моем сервере. но свойство status все еще возвращает 200 !! ?

1 Ответ

0 голосов
/ 28 августа 2018

Во-первых, onload выполняется при успешном завершении. Если вы в нем, вы уже можете принять код состояния, отличный от 4xx (почти всегда 200).

Хотя это не твоя настоящая проблема. (В худшем случае это означает, что вы не обрабатываете ошибки должным образом.) Ваша настоящая проблема заключается в том, что код состояния представляет ответ сервера при посещении notexist.php. Если ваш сервер возвращает код ответа 200 (либо напрямую, либо, возможно, путем возврата на страницу «ошибка», которая является просто обычной веб-страницей), то это то, что увидит ваш XMLHttpRequest, и ошибки будут выглядеть как успехи.

Убедитесь, что из-за ошибок при поиске страницы ваш сервер возвращает код ответа 404.

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