[AJAX介紹]
Ajax是使用客戶端腳本與Web服務器交換數據的Web應用開發方法。Web頁面不用打斷交互流程進行重新加裁,就可以動態地更新。使用Ajax,用戶可以創建接近本地桌面應用的直接、高可用、更豐富、更動態的Web用戶界面。
異步JavaScript和XML(AJAX)不是什么新技術,而是使用幾種現有技術——包括級聯樣式表(CSS)、JavaScript、 XHTML、XML和可擴展樣式語言轉換(XSLT),開發外觀及操作類似桌面軟件的Web應用軟件。
[AJAX執行原理]
一個Ajax交互從一個稱為XMLHttpRequest的JavaScript對象開始。如同名字所暗示的,它允許一個客戶端腳本來執行HTTP請求,并且將會解析一個XML格式的服務器響應。Ajax處理過程中的第一步是創建一個XMLHttpRequest實例。使用HTTP方法(GET或 POST)來處理請求,并將目標URL設置到XMLHttpRequest對象上。
當你發送HTTP請求,你不希望瀏覽器掛起并等待服務器的響應,取而代之的是,你希望通過頁面繼續響應用戶的界面交互,并在服務器響應真正到達后處理它們。要完成它,你可以向 XMLHttpRequest注冊一個回調函數,并異步地派發XMLHttpRequest請求??刂茩囫R上就被返回到瀏覽器,當服務器響應到達時,回調函數將會被調用。
[AJAX實際應用]
1. 初始化Ajax
Ajax實際上就是調用了XMLHttpRequest對象,那么首先我們的就必須調用這個對象,我們構建一個初始化Ajax的函數:
/** * 初始化一個xmlhttp對象 */ function InitAjax() { var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; } |
你也許會說,這個代碼因為要調用XMLHTTP組件,是不是只有IE瀏覽器能使,不是的經我試驗,Firefox也是能使用的。
那么我們在執行任何Ajax操作之前,都必須先調用我們的InitAjax()函數來實例化一個Ajax對象。
2. 使用Get方式
現在我們第一步來執行一個Get請求,加入我們需要獲取 /show.php?id=1的數據,那么我們應該怎么做呢?
假設有一個鏈接:<a href="/show.php?id=1"></a>新聞1</a>,我點該鏈接的時候,不想任何刷新就能夠看到鏈接的內容,那么我們該怎么做呢?