Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2013, 10:23
Аспирант
Отправить личное сообщение для DeUM Посмотреть профиль Найти все сообщения от DeUM
 
Регистрация: 27.02.2013
Сообщений: 36

Асинхронный XMLHttpRequest
Здравствуйте!
Ни как не хочет работать скрипт для асинхронного запроса:
function getXML(sURI) {
    request = null
    try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
        try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
            try { request = new XMLHttpRequest(); } catch (e) { }
        }
    }
    return request
}
function loadHttp(sURI) {
    request = getXML()
    request.open('GET', sURI, true);

request.onreadystatechange = function () {
    if (request.readyState == 4) {
            if (request.status == 200) {
                return request.responseText;
            }
    }
};
        request.send(null);
    

}

пишет : undefined
При этом синхронный запрос работает. Подскажите пожалуйста в чем проблема.
браузер: CHROME

Последний раз редактировалось DeUM, 27.02.2013 в 12:07.
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2013, 10:45
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А send(null) делать не до навешивания обработчика смены состояния, а после?
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2013, 12:10
Аспирант
Отправить личное сообщение для DeUM Посмотреть профиль Найти все сообщения от DeUM
 
Регистрация: 27.02.2013
Сообщений: 36

Изменил но ничего не изменилось.
Подскажите код как должен выглядеть в js и html

Последний раз редактировалось DeUM, 27.02.2013 в 12:14.
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2013, 12:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А кто и где пишет "undefined" ?
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2013, 14:11
Аспирант
Отправить личное сообщение для DeUM Посмотреть профиль Найти все сообщения от DeUM
 
Регистрация: 27.02.2013
Сообщений: 36

вместо вывода страницы он выводит undefined
Ответить с цитированием
  #6 (permalink)  
Старый 27.02.2013, 14:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Потому что запрос асинхронный. Делай необходимые действия по readystatechange.
Ответить с цитированием
  #7 (permalink)  
Старый 27.02.2013, 14:40
Аспирант
Отправить личное сообщение для DeUM Посмотреть профиль Найти все сообщения от DeUM
 
Регистрация: 27.02.2013
Сообщений: 36

request.onreadystatechange = function () {
    if (request.readyState == 4) {
            if (request.status == 200) {
                return request.responseText;
            }
    }
};

А разве это не те строки которые отвечаю за асинхронность?
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2013, 14:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Они ничего не делают. Возвращают responseText в космос.
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2013, 14:52
Аспирант
Отправить личное сообщение для DeUM Посмотреть профиль Найти все сообщения от DeUM
 
Регистрация: 27.02.2013
Сообщений: 36

danik.js,
можно по подробней? я только начинаю разбираться в javascript
если не тяжело
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2013, 14:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Что подробней? Откуда я знаю что ты там хочешь делать с результатом запроса. Для начала alert(request.responseText). Если тебе алерта мало - делай больше.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
xmlHttpRequest подскажите czp AJAX и COMET 4 10.12.2012 23:23
XMLHttpRequest не возвращает значение mrbean11 Firefox/Mozilla 3 04.11.2012 14:24
XMLHttpRequest и redirect developer_ AJAX и COMET 1 05.07.2012 02:33
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14
Создание и уничтожение XMLHttpRequest Vlas AJAX и COMET 9 22.05.2009 12:38