今天拿到一個小任務,在頁面中使用js獲取一個服務地址上的數據,而後顯示出來,固然了,要使用異步處理,按說這也不是什麼難事兒,但恰恰就搞了我整整一個上午的時間,歸結一句話:經驗不夠!chrome
//獲取XMLHttpRequest的函數:瀏覽器
function getXmlHttp() //獲取XMLHttpRequest對象 { if(window.XMLHttpRequest) { return new XMLHttpRequest(); } else { return new ActiveXObject("Microsoft.XMLHTTP"); } }
//獲取服務信息的函數:
function getInfo(type,startDate,endDate,pagingIndex) //根據給進的參數請求服務數據 { var url="http://baidu.com"; //拼接地址 xmlHttp=getXmlHttp(); //獲得XMLHttpRequest對象 xmlHttp.open("get", url, true); //打開鏈接 xmlHttp.onreadystatechange=function () //定義當信息反饋回來時的處理函數 { if(xmlHttp.readyState==4) { alert(xmlHttp.responseText); //將獲得的信息彈出來 } }; xmlHttp.send(); //發送請求 }
看起來沒有什麼地方有問題的,可就是沒反應,每次獲得的responseText都是空,很火大,上網找資料,發現網上大部分的例子都是IE下的,而個人瀏覽器是chrome,服務器
索性就拿到IE下去測試一下,噔!!!經過了,獲得了服務數據!哇,爲何在chrome就不行呢?以前用我本機做爲服務器,異步
一樣地腳本在chrome下就能夠正常得獲取到本機上服務信息,如今換了其餘地址就短路了,不明白爲何,還請有經驗的朋友指點一下!函數