Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 не срабатывает хотя по встроенному в браузер отладчику вижу что ответ пришел. В Чем тут дело?
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2019, 18:19
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от izumov
ОТличие кода ТОЛЬКО В СИНХРОННОСТИ
В приведенных вариантах нет такого отличия.

Последний раз редактировалось Dilettante_Pro, 27.05.2019 в 18:24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск