0
我有一個頁面可以將包含數千個郵政編碼的XML文件加載到內存中。加載xml後,將顯示文本框和搜索按鈕,用戶可以輸入郵政編碼(郵政編碼)並單擊搜索,並顯示一些結果。問題是,在文本框和搜索按鈕出現之前,初始加載需要一段時間,頁面顯示「正在加載...」10-15秒。我需要使搜索框/按鈕顯示更快/即時,即使這意味着搜索時間過長。我承認,我更像是一個.net小夥,並且不太瞭解javascript/ajax。這是加載xml的函數。誰能幫忙?在後臺加載xml文件
function importXML() {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var i,j;
var xmlDoc=xmlhttp.responseXML;
for (i=0; i<arrServiceProviders.length;i++) {
var regionList = xmlDoc.getElementsByTagName("region");
var postalCodeList = regionList[i].getElementsByTagName("postalcode");
for (j=0;j<postalCodeList.length;j++) {
arrServiceProviders[i][j]=postalCodeList[j].childNodes[0].nodeValue;
}
// debug time:
//alert(arrServiceProviders[i]);
}
var searchForm = document.getElementById("search-wrapper");
var loadingPlaceholder = document.getElementById("loading");
loadingPlaceholder.className = "hidden";
searchForm.className = "";
}
};
xmlhttp.open("GET","/agency-postal-codes.xml",true);
xmlhttp.send();
}
我建議你開始加載儘快根據用戶輸入您的郵政編碼,他們開始在搜索框中輸入。這樣,你永遠不需要加載所有的郵政編碼。我認爲像[Chosen](http://harvesthq.github.com/chosen/)這樣的選擇框可以幫助你解決這個問題。 – 2013-03-07 19:56:18
如果顯示輸入框但xml未加載,會發生什麼情況?我的意思是,只是在加載回調之外移動取消隱藏的代碼不是你的問題,是嗎? – Bergi 2013-03-07 20:10:20