Из-за чего при XMLHttpRequest запросе свойство responseText может быть пустым?
Делаю POST-запрос посредством XMLHttpRequest и получаю в ответ от сервера обычный JSON.
Однако, полученный JSON я вижу в консоли, но НЕ вижу внутри объекта!
Как такое вообще возможно? Мистика какая-то(
Попробуйте вывести не весь объект, а это свойство. DevTools показывает текущее состояние объекта, возможно это свойство к моменту когда вы смотрите в консоль, уже изменилось.
Не может у вас быть ситуация как в этом вопросе: Почему объект показывает 6, а значение length 8?
var formData = new FormData($('form')[0]);
var xhr = new XMLHttpRequest();
xhr.open('POST','https://etp.roseltorg.ru/authentication/login');
xhr.onreadystatechange = function(){
if(xhr.readyState === XMLHttpRequest.DONE){
console.log(xhr);
}
}
xhr.send(formData);
то в консоли видно json с ответом сервера.
Если же я с той же страницы запрашиваю https://etp.roseltorg.ru/supplier/auction/apply/st... - то в ответе сервера редирект на http страницу и ошибка в консоли об Mixed Content: и поле response пустое, но там и status не 200 как у вас.
Может там как-то реферер ещё проверяется? Хотя согласен, ситуация странная.
Проблема решена. Оказалось, что если смотреть конкретно само свойство, а не весь объект целиком, то ответ сервера прекрасно отображается. Всем спасибо за внимание)