Задать вопрос
@suhuxa1

Почему после запроса xhr вообще ничего не возвращается? (хотя на самом деле ответ есть)?

Ситуация такая - отправляю на сервер данные, взамен возвращается либо bad либо good. Почему-то formdata через jquery ajax отправляться не хочет, а там с получением ответа проблем никогда не было. А вот xhr возвращает пустоту. Код такой:
formData.append("name", $('.name-form').val());
    formData.append("tel", $('.tel-form').val());
    formData.append("email", $('.email-form').val());
    formData.append("txt", $('.text-form').val());
    formData.append("myFile", $('#files-form')[0].files[0]);
    
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "/ss/js/sender.php");
    xhr.send(formData);

   console.log(xhr.status);
   console.log(xhr.statusText);
   console.log(xhr.responseText);


Из 3-х console.log возвращается только статус. И равен он 0. Прочитал, это может быть, если сервер ответа не дал. Но на самом деле данные все обработались, ушли на почту, и ответ был возвращен, если верить инспектору:
c9539ad631.jpg

В чем может быть проблема? И да, сервер возвращает ответ простым кодом:
if($r) {
    echo 'good';
}
else {
    echo 'bad';
}
exit;


Может как-то иначе ответ выводить? Но jquery ajax такие всегда отлично обрабатывал...А по нему сейчас не отправляется, пишет что проблема в append у formData. Хотя xhr таких проблем не находит.
  • Вопрос задан
  • 460 просмотров
Подписаться 1 Оценить 1 комментарий
Решение пользователя Анатолий Медведев К ответам на вопрос (3)
@balamyt92
; select * from users; --
подпишитесь на события
var request = new XMLHttpRequest();
request.open("POST", "/ss/js/sender.php");

request.onload = function() {
   console.log(request.status);
   console.log(request.statusText);
   console.log(request.responseText);
};

request.onerror = function() {
   console.log(request.status);
   console.log(request.statusText);
   console.log(request.responseText);
};

request.send(formData);
Ответ написан