mak_ufo
@mak_ufo

Почему ответ от сервера приходит 3 раза?

На клиенте генерируется ajax на чистом js (без jQuery). На сервере обрабатываю на express.js

app.use(bodyParser.json());
app.post('/name', (req, res) => {
  res.status(200);
});


На клиенте создаю запрос:
form.addEventListener('submit', event => {
      event.preventDefault();
      var xhr = new XMLHttpRequest();
      var json = JSON.stringify({
              name: document.querySelector('#name-reg').value,
              pass: document.querySelector('#pass-reg').value,
            });
      xhr.open('POST', '/name', true);
      xhr.setRequestHeader("Content-Type", "application/json");
      xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
      xhr.send(json);

      xhr.onreadystatechange = () => {
        xhr.status === 200 ? console.log('Зарегистрирован') : console.log('не зарегистрирован');
      };
    });

И Всё работает, но на клиент ответ приходит 3 раза. При этом в консолях всё пусто, то есть ошибок не возникает.

UPD: Уточню, что во вкладке network запрос один, но в консоль сообщение выводится трижды.
В чём проблема?
  • Вопрос задан
  • 641 просмотр
Решения вопроса 1
AlexXYZ
@AlexXYZ
O Keep Clear O
Потому что где-то в коде вы его три раза запрашиваете. Смотрите не только консоль браузера, но и закладку сетевых соединений. А ещё лучше поставьте fiddler и посмотрите им.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы