Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Функция AJAX в IE работает, в Мозиле - нет


Автор: kpuknet 7.6.2008, 13:32
Люди, подскажите плз. В IE работает, в Мозиле не хочет.

Код

    <div class="marquee">
        <div class="marquee_caption">Бегущая строка:</div>
        <marquee id="PlayList">- - -</marquee>
    </div>
    <script type="text/javascript">
function Tricker(reload_text_time, elid, uri)
{
    var elid = (elid) ? elid : 'PlayList';
    var reload_text_time = (reload_text_time) ? reload_text_time : 180000;
    var uri = (uri) ? uri : '/php/load_prg/curent_hour.php';
    
    var getPlayList = function(uri) {
        var xmlHttpReq = false;
        var self = this;
        // Mozilla/Safari
        if (window.XMLHttpRequest) {
                try { self.xmlHttpReq = new XMLHttpRequest(); } catch(e) {}
            } else if (window.ActiveXObject) {
                try { self.xmlHttpReq  = new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}
                if (!self.xmlHttpReq) try {  self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
            }        
        
        

        self.xmlHttpReq.open('POST', uri, true);
        self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        self.xmlHttpReq.onreadystatechange = function() {
            if (self.xmlHttpReq.readyState == 4) {
                print(self.xmlHttpReq.responseText);
            }
        }
        self.xmlHttpReq.send();
    }

    var reloadText = function() {
        getPlayList(uri);
        setTimeout(function() {reloadText()}, reload_text_time)
    }
    
    var print = function(text) {
        var el = document.getElementById(elid);
            el.innerHTML = text;
    }
    
    Tricker.prototype.go = function() {
        reloadText();
    }
}

var tricker = new Tricker(180000);
    tricker.go();
</script>

Автор: webevt 7.6.2008, 21:29
Читайте ошибки, которые выдает мозилла. Помогает.

Цитата(kpuknet @  7.6.2008,  13:32 Найти цитируемый пост)
        self.xmlHttpReq.send();

В данном случае она скажет что-то типа "not enough arguments".
Правильно будет так:
Цитата(kpuknet @  7.6.2008,  13:32 Найти цитируемый пост)
        self.xmlHttpReq.send(null);


И точки с запятой не везде стоят. Почистите код, будет сразу видно все ошибки.

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