文章來源:Web開發網
w3dev.cn
有些時候我們需要將ajax請求的功能打包成一個類庫方便調用,此時需要用到ajax的狀態轉換函數,對於執行onreadystatechange函數時,this對象到底是那個對象,不同瀏覽器的表現方式差異頗大。
下面未進行打包時狀態處理函數的測試,示例代碼如下
運行上面的代碼後,下面是不同瀏覽器的輸出,循序爲IE6,IE7,IE8,FF2,FF3.6,chrome4,opera9,safari3。
通過上圖可以看出,除了IE6下this==window對象,FF2下this爲狀態轉換函數,其他瀏覽器this對象都爲xhr對象本身。所以在進行打包時,得注意下狀態轉換函數this的指向問題。
當了解了onreadystatechange狀態轉換函數中this對象爲什麼時,我們就可以進行一些簡單的打包操作了。
打包後的簡單示例代碼如下。
推薦的事件綁定方法
ajax相關問題
ajax responseText -1072896748錯誤