簡體   English   中英

IE中的AJAX請求(所有版本)

[英]AJAX request in IE (all versions)

http://kiwilocals.com.au/dev/

您好,這是頁面中間橫幅下某個類別上的ajax請求。 除了所有版本的IE之外,任何地方都可以工作。 我檢查了開發人員的工具,查詢給出了正確的結構,但是加載后加載圖標上沒有任何顯示。 可能是什么原因? 謝謝。

function scat(th) {
wait_loading('sub_lst');

if (request = create_request()) {

    request.open("GET", "get_subcat.php?id=" + th + "&site=1", true);
    request.onreadystatechange = function () {
        //alert(request);
        if (this.status == 200) {
            if (this.readyState == 4) {

                var doc3 = document.getElementById('sub_lst');
                //alert(doc3);
                doc3.innerHTML = this.responseText;
                if (!scroll_start) {
                    $('.sub_scroll').jScrollPane({
                        animateScroll: true
                    });
                    $('.hidden_control').show();
                    scroll_start = true;
                }
            }
        }
    }
    request.send(null);
}
}

function create_request() {
var request = false;
try {
    request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
    try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e2) {
        try {
            request = new XMLHttpRequest();
        } catch (e3) {
            request = false;
        }
    }
}
if (!request) {
    alert("Невозможно выполнить Ajax запрос.");
    return false;
} else return request;
}

function wait_loading(el_id) {
document.getElementById(el_id).innerHTML = "<center><img style=\"padding-top: 60px;\" width=\"64\" height=\"64\" src=\"images/loading.gif\"></center>";

}

問題在於您在readstatechange事件中使用了“ this”。

試一下。

if(request = create_request()) {

    request.open("GET", "get_subcat.php?id="+th+"&site=1", true);
    request.onreadystatechange = function() {

        if(request.status == 200) {
            if( request.readyState == 4 ) {
                var doc3 = document.getElementById('sub_lst');
                doc3.innerHTML=request.responseText;

                if(!scroll_start) {
                    $('.sub_scroll').jScrollPane({animateScroll: true});
                    $('.hidden_control').show();
                    scroll_start=true;
                } 
            }
        }
    }
    request.send(null);
}

但是有一個問題……除此以外,您在整個代碼中都使用jQuery。 為什么不使用:

$('#sub_lst').load("get_subcat.php?id="+th+"&site=1", function(){
    if(!scroll_start) {
        $('.sub_scroll').jScrollPane({animateScroll: true});
        $('.hidden_control').show();
        scroll_start=true;
    } 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM