Показать сообщение отдельно
  #1 (permalink)  
Старый 12.06.2015, 20:05
Новичок на форуме
Отправить личное сообщение для imonzx Посмотреть профиль Найти все сообщения от imonzx
 
Регистрация: 22.02.2015
Сообщений: 5

Асинхронный ajax запрос
Доброго времени суток.
Имеется функция для выполнения ajax запроса.
function ajax(url, callback, async, method, params, header)
    {
        var xmlHttp = getXmlHttpRequest();
        async = async || false;
        params = params || '';
        method = method || 'GET';
        if (method == 'GET') url += '?'+'searchParams=' +params;
        if (header != null) xmlHttp.setRequestHeader('Content-Type', header)
        xmlHttp.open(method, url, async);
        if (!async)
        {
            if (params == '') {
                xmlHttp.send(null);
            }else {
                xmlHttp.send(params);
            }
            callback(xmlHttp.responseText);
        }
        else
        {
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    callback(xmlHttp);
                }
            };
            xmlHttp.send(null);
        }
    }


Так вот, если я делаю синхронный запрос, т.е:
ajax('...',
           function(data){console.log(data)},
                false,
                'POST',
                ...);

а когда делаю асинхронный запрос т.е:
ajax('...',
            function(data){console.log(data)},
                true,
                'POST',
                ...);

то получаю undefined.
Я подозреваю что проблема в моей функции для ajax запроса, гляньте своим опытным глазом и скажите что не так?
Заранее спасибо.
Ответить с цитированием