[問題] Ajax callback問題

看板Ajax作者時間14年前 (2012/03/31 05:52), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
我有一個function loadFile(url) 會回傳遠端文件的dom function loadFile (sURL) { var oXHR = new XMLHttpRequest(); oXHR.open("GET", sURL, true); oXHR.onreadystatechange = function (oEvent) { if (oXHR.readyState === 4) { if (oXHR.status === 200) { var doc; try {  doc = new DOMParser().parseFromString(oXHR.responseText, 'application/xhtml+xml'); } catch (e) {  doc = document.implementation.createHTMLDocument ? document.implementation.createHTMLDocument('apfc') : document.implementation.createDocument(null, 'html', null);  // 以下略 } return doc; } else { return null; div.innerHTML = ""; console.log("Error", oXHR.statusText); } } }; oXHR.send(null); return null; } 然後我在主程式的部份是用下面的方法去操作loadFile var urls = new Array(); //用來存放要透過Ajax存取的網址 var arr2 = new Array(); //用來存放loadFile回傳的dom for(i=0;i<urls.length;i++) { var doc = loadFile(urls[i]); arr2.push(doc); } //再統一處理arr2裡面的東西 parseDom(arr2); 問題來了,因為同步問題,導致在那個loadFile 把所有的資料抓完之前 導致arr2.push(doc); 然後parseDOM也會出現問題 請問有什麼辦法可以讓loadFile完全正確跑完再執行主程式下面的動作嗎 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 113.61.217.46

03/31 08:19, , 1F
將oXHR.open("GET", sURL, true);的第三個參數改false
03/31 08:19, 1F
文章代碼(AID): #1FTYiFjQ (Ajax)
文章代碼(AID): #1FTYiFjQ (Ajax)