簡體   English   中英

使用AJAX對服務器進行遞歸調用在Internet Explorer中不起作用

[英]Recursive calls to a server using AJAX not working in Internet Explorer

我正在開發文件管理系統上的Web應用程序,在該應用程序中,我必須訪問系統上的各種目錄並將它們列出在我的網頁上。 我已經使用AJAX對服務器進行了剩余調用。 我創建了一個休息控制器來處理請求。

我在執行Java腳本函數時遇到問題,我必須根據計數器遞歸調用它。 該功能是在目錄中向后導航。 如果count的值為零,我將在網頁上顯示結果,否則我將遞歸調用該函數。 該功能可以在Chrome中正常運行,但在IE-11中卻無法正常運行。

我想基於計數器值多次調用服務器。 因此,我以遞歸方式調用該函數,但是對服務器的調用僅進行一次。 在IE-11中會出現此問題。 在Chrome瀏覽器中,它可以完美運行。

該函數是:

function gobackDir(count) {
    var back_count = count;             
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET","http://neha:8080/myServer/goback",true);
    xmlhttp.send();

    xmlhttp.onreadystatechange=function($event) {
        if ($event.currentTarget.readyState==4 && $event.currentTarget.status==200) {   
            back_count--;
            if (back_count > 0) {
                gobackDir(back_count);
            }
            else {
                var server_response = JSON.parse($event.currentTarget.response);                        
                    set_currentDirectory(server_response);                      
                    set_directoryContent(server_response);
            }
        }
    }
}  

在IE中,您需要清除緩存:

var bustCache = (new Date()).getTime();
xmlhttp.open("GET","http://neha:8080/myServer/goback?" + bustCache,true);

暫無
暫無

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

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