Как ждать ответа AJAX - PullRequest
       0

Как ждать ответа AJAX

0 голосов
/ 07 ноября 2010

Я хочу знать, как я могу сделать паузу в системе, чтобы дождаться ответа от сервера на запрос AJAX?

var method = childs[cont].getAttribute('method');
            var address = childs[cont].getAttribute('address');
            /*
             * Making the AJAX connection 
             * and returning the results.
             */
            phone = new ConstructorXMLHttpRequest();
            onreadystatechange = function(){
                switch(phone.readyState){
                    case 0: if(phone.readyState == 0){
                        break;
                    }
                    case 1: if(phone.readyState == 1){
                        break;
                    }
                    case 2: if(phone.readyState == 2){
                        break;
                    }
                    case 3: if(phone.readyState == 3){
                        break;
                    }
                    case 4: if(phone.readyState == 4){
                        if(phone.status == 200){
                            var val = phone.responseText; 
                            alert([val,1]);
                            dataInsert(val);
                            break;
                        }
                        else{
                            alert("Problemas status:"+phone.status+" state:"+phone.readyState);
                            break;
                        }
                    }
                }
            };
            phone.onreadystatechange = onreadystatechange;
            if (method == 'POST'){
                phone.open(method, address, true);
                phone.setRequestHeader("Content-type", "multipart/form-data");
                phone.send(xml2string(prepCall(childs[cont])));
            }else if(method == 'GET'){
                phone.open(method, address, true);
                phone.setRequestHeader("Content-type", "multipart/form-data");
            }

1 Ответ

3 голосов
/ 07 ноября 2010

Ваш код выглядит нормально. Помните, что AJAX является асинхронным, поэтому вместо фактической паузы просто подключите обратный вызов к вашему запросу ajax, который будет выполнен, как только запрос будет завершен.

В вашем случае, если запрос успешно завершен, он выдаст предупреждение и выполнит функцию dateInsert.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...