@phpcoder81

Почему не срабатывает before send?

<input type="button" id="start" value="Отправить">

var btn = document.getElementById('start');

btn.addEventListener('click', function(){
  btn.value = "start"; //проблема тут
  
  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'test.php', false);
  xhr.onload = function(e){
    if(xhr.readyState == 4 && xhr.status == 200){
      btn.value = "ready";
    }
  };
  xhr.send();
});


//test.php
sleep(1);
echo time();
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@tin_vsl
Senior Developer
код синхронный, обновлений в интерфейсе видно не будет;

скорее всего вам нужно открывать асинхронный запрос
xhr.open('POST', 'test.php', true);

или разделять код на несколько вызовов функций (что маловероятно)
с помощью, например, промисов или setTimeout(function(){...}, 0)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
before send не срабатывает потому, что его в этом коде вообще нет.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы