Показать сообщение отдельно
  #1 (permalink)  
Старый 18.05.2019, 17:45
Аспирант
Отправить личное сообщение для izumov Посмотреть профиль Найти все сообщения от izumov
 
Регистрация: 05.05.2019
Сообщений: 72

Почему такое принципиальное различие в работе кода всего лишь из-за изменения синхрон
ПЕрвый код Ajax асинхронный alert срабатывает и выводится пришедший от сервера ответ
var url="proba8.php";
request.open("POST",url, false );
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
      var data="kod="+kod+"&kol="+col+"&colvalue="+colvalue;
      request.send(data);
    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200) {
                alert(request.responseText);
            if(request.responseText!=0){flagunical=false;return true;}
            else{return true;}
            } else {
                
                alert('error' + request.statusText);
            }
        }
}

ВТорой вариант делаю синхронный запрос вот код.
var url="proba8.php";
request.open("POST",url, false );
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
var data="kod="+kod+"&kol="+col+"&colvalue="+colvalue;
request.send(data);
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
alert(request.responseText);
if(request.responseText!=0){flagunical=false;return false;}
else{return true;}
} else {

alert('error' + request.statusText);
}
}
}

ОТличие кода ТОЛЬКО В СИНХРОННОСТИ ВСЕ ОСТАЛЬНОЕ ИДЕНТИЧНО Но во втором варианте Alert не срабатывает хотя по встроенному в браузер отладчику вижу что ответ пришел. В Чем тут дело?
Ответить с цитированием