Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2011, 17:07
Аспирант
Отправить личное сообщение для ILL-JAH Посмотреть профиль Найти все сообщения от ILL-JAH
 
Регистрация: 24.03.2011
Сообщений: 93

Как работает метод send() объекта XMLHttpRequest?
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Запрос</title>
    <script type="text/javascript">
        var HTTP = {};
        HTTP._factories = [
        function () { return new XMLHttpRequest(); },
        function () { return new ActiveXObject("Msxml2.XMLHTTP"); },
        function () { return new ActiveXObject("Microsoft.XMLHTTP"); }
        ];
        HTTP._factory = null;

        HTTP.newRequest = function () {
            if (HTTP._factory != null) return HTTP._factory();

            for (var i = 0; i < HTTP._factories.length; i++) {
                try {
                    var factory = HTTP._factories[i];
                    var request = factory();
                    if (request != null) {
                        HTTP._factory = factory;
                        return request;
                    }
                } catch (e) {
                    continue;
                }
            }
            HTTP._factory = function () {
                throw new Error("Объект XMLHttpRequest не поддерживается");
            }
            HTTP._factory();
        }
        HTTP.newRequest();

        var request = HTTP._factory();

        var url = "http://192.168.1.3/x3/index.htm";
        request.open("GET", url, false);
        request.send(null);
        alert("z");
    </script>
</head>
<body>

</body>
</html>
При false в request.open вышеописаный код работает только в IE.
Консоль ошибок FireFox пишет:
Ошибка: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///C:/Documents%20and%20Settings/user/My%20Documents/Visual%20Studio%202010/Projects/java-script/Flanagan/20.1.1%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B 8%D0%B5%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0% B0%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0.ht m :: <TOP_LEVEL> :: line 43" data: no]

43-я строка кода - это request.send(null);

При true в request.open вышеописаный код работает везде, кроме Оперы.

В логе Апача и при True и при False: 192.168.1.3 - - [28/Jul/2011:17:05:08 +0400] "GET /x3/index.htm HTTP/1.1" 206 3966
Что за беда? Помогите кто знает.

Последний раз редактировалось ILL-JAH, 28.07.2011 в 17:11.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает get(0) jQuery qwermjk Общие вопросы Javascript 15 25.01.2011 13:05
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 19:19
Не работает перебор свойств объекта BANick Общие вопросы Javascript 1 16.09.2008 22:46
XMLHTTPRequest POST метод gaolong Общие вопросы Javascript 7 30.06.2008 13:47
как выполнить движение объекта scuter Элементы интерфейса 5 08.06.2008 23:57