Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   XMLHttpRequest асинхронный вызов. (https://javascript.ru/forum/misc/42177-xmlhttprequest-asinkhronnyjj-vyzov.html)

Loki6999 16.10.2013 09:23

XMLHttpRequest асинхронный вызов.
 
function getXHR(url,col) {
    var req = new XMLHttpRequest();
    
    req.open('GET', url, true);
    req.onreadystatechange = function () {
        if (this.readyState == 4) {
            if (this.status == 200 || this.status == 0) {
                var s = col(this.responseText);
                return s;
                } else {
                console.log(‹something went wrong');
                }; 
        };            
        }
    req.send();
    
};


есть код который написан по какойто из статей вкладываемых сдесь.
Так и не смог розобратся в как мне получить результат вызова req.onreadystatechange. И как дождаться момента когда придет результат в переменную, вдругом скрипте а то получается седуйшее.
Если в onreadystatechange вызвать функцию alert перед ретёрном, то он сработает через какоето время после данного вызыва alert("SDDD: " + suggestionText) что не есть хорошо.
var suggestionText = getCity();
alert("SDDD: " + suggestionText);

Вообщем помогите разобраться новичку ))))

ksa 16.10.2013 09:31

Цитата:

Сообщение от Loki6999
Вообщем помогите разобраться новичку

Вся работа XMLHttpRequest описана в любой книжке по Ajax... Смысл копировать оттуда сюда?
Да и не все pdf-ки дают такую возможность... Качай Флэнаган Д. "JavaScript. Подробное руководство 6-е издание" - там все про это расписано с примерами...

Даже на этом сайте все есть...
http://learn.javascript.ru/ajax-xmlhttprequest

Loki6999 16.10.2013 09:56

Сапсибо и за ссылку, книгу обязательно скачаю


Часовой пояс GMT +3, время: 21:59.