Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Непонятки с GET


Автор: dix75 9.8.2010, 16:36
Добрый день!

Есть кусок кода

Код

<script> 
var xmlhttp =  new XMLHttpRequest();
xmlhttp.open("GET", 'http://xxxx:8000/50x.html', false);

xmlhttp.onreadystatechange = function()
    {
        alert(xmlhttp.readyState);
            if (xmlhttp.readyState == 4)
        {
         alert(xmlhttp.status);
            if (xmlhttp.status == 200)
            {
                    alert (xmlhttp.responseText);
            };
        };
    };
xmlhttp.send(null);
</script>

При этом браузеры:
Опера возращает всегда readyState равное 2
Хром возращает всегда readyState равное 4 а потом сразу 0
IE возращает страницу но только минуты чере 3-5

Но если адрес вводить напрямую в браузере все ок. Грузится мгновенно.
В чем дело?
Может есть другие средства получить страницу.

Автор: dix75 9.8.2010, 17:25
А почему может при запросах такого рода. 
xmlhttp.open("GET", '/?uid=55&qid=66');

вылетать xmlhttp.status  == 0

Автор: Syntax 9.8.2010, 17:27
Попробуйте использовать методы jquery.
$.post или $.get.
http://jquery-docs.ru/ajax/jquery-post/

Автор: Amphiluke 9.8.2010, 17:32
Если вы отсылаете синхронный запрос, зачем вам обработчик события onreadystatechange?

Автор: dix75 9.8.2010, 17:53
Этоя для пробы.
Просто все перепробовал.
Не хочет пост работать.

Код

xmlhttp.open("POST", "/");
xmlhttp.send("?uid=565&qid=66");

Автор: Amphiluke 9.8.2010, 18:16
Не пробовали перед вызовом метода send прописывать заголовки для сервера?
Ну, типа
Код

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



Цитата(dix75 @  9.8.2010,  21:53 Найти цитируемый пост)
xmlhttp.send("?uid=565&qid=66");

Начальный вопросик не нужен, вроде

Автор: dix75 9.8.2010, 18:23
Да есть.

Добавлено через 1 минуту и 32 секунды
А проблема может быть с заголовками сервера?

Автор: Amphiluke 9.8.2010, 18:29
Цитата(dix75 @  9.8.2010,  21:53 Найти цитируемый пост)
xmlhttp.open("POST", "/");

Так а если адрес явно прописан (как-нибудь index.php и т.д.), то работает? Или тоже нет.

Автор: dix75 9.8.2010, 18:33
тоже нет

Автор: dix75 9.8.2010, 19:11
 smile 

Проблема была в заголовках сервера.
Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)