Показать сообщение отдельно
  #1 (permalink)  
Старый 25.08.2014, 22:23
Новичок на форуме
Отправить личное сообщение для antananarivu Посмотреть профиль Найти все сообщения от antananarivu
 
Регистрация: 25.08.2014
Сообщений: 7

Имеет ли значение асинхронность для возврата значения, если да - то как решить вопрос
Новичок, столкнулся с проблемой, не получается поместить результат выполнения функции в переменную. Не могу понять - это проблема моего синтаксиса (но ошибок не выдает) или какие-то заморочки конкретно языка. Код следующий

function createInstance()
{
  var req = null;
  if(window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) {
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
       try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            alert("XHR not created");
          }
      }
    }
    return req;
}

function submitForm()
{ 
   var req = createInstance();
   req.onreadystatechange = function()
   { 
      if(req.readyState == 4)
      {
         if(req.status == 200)
         {
           var but = req.responseText;
          // console.log(but);
           return but;

         }	
         else	
         {
            alert("Error: returned status code " + req.status + " " + req.statusText);
         }	
      } 
   }; 
   req.open("GET", "op21.php", true); 
   req.send(null); 
 } 
 
 
 
var myVar= submitForm();
      

console.log(myVar);


в результате - undefined
Ответить с цитированием