◆ 所當聞 ◆ AJAX | |
文╱Arnold Wu武曉佳/CACT/資訊 |
|
|
|
在幾個月前我接觸了比較流行的WEB開發應用技術中的Ajax,Ajax全稱為“Asynchronous
JavaScript and XML”(異步javaScript 和
XML),這是一種創建交互式網頁應用的網頁開發技術。 在傳統的WEB應用中,當客戶端提交表單數據時就會向WEB伺服器發送一個請求,此時客戶端刷新頁面,等待伺服器的響應。伺服器接收並處理傳來的表單,然後返回給客戶端一個新的頁面。這種做法浪費了許多帶寬,因為有可能前後兩個頁面中的大部份數(HTML代碼)是相同的。這也導致用戶界面的響應比本地應用慢的多。而Ajax應用可以僅向伺服器發送並取回必需的數據,並在客戶端採用JavaScript處理來自伺服器的數據。因此在伺服器與客戶端之間交換的數據大量減少,在客戶端看到的是響應更快的應用。 關於Ajax的使用方法和工作原理在很多網站都有詳細的介紹,可以去網上搜索一下,在下面我給出一個應用的實例附加簡單介紹,然後再探討一下Ajax中的兩個請求方式:GET、POST,因為在選擇不同的請求方式時,如果選擇錯了,有可能造成意想不到的結果。 try{ 要使用Ajax,首先我們需要用JavaScript來創建XMLHttpRequest類,但是因為要支持不同的瀏覽器,也要考濾瀏覽器不支持Ajax的情況。所以用到了try和catch的語句塊。Ajax支持的客
戶端瀏覽器有:Mozilla、Firefox、Internet Explorer、Opera、Konqueror 及 Safari。在
Mozilla 、Safari等瀏覽器中我們用request = new XMLHttpRequest();在Internet
Explorer中我們用request = new ActiveXObject("MSxml2.XMLHTTP"),為在兼容不同版本的Internet
Explorer中使用,我們還需加入request = new ActiveXObject("microsoft.XMLHTTP")的語句。創建好對像後,我們就可以利用創建的對像進行編寫發送和接收數據的代碼了。 function get_arg(){ 在post_arg()和get_arg()兩個函數中,是要傳遞參數給伺服器的,此函數中url參數是指定伺服器端處理數據的頁面地址,request.onreadystatechange 後邊的update_Content則是指定伺服器響應時執行的函數,但是要注意在這?update_Content後邊一定不要加“( )”。在update_Content()函數中 request.responseText 就是伺服器返回的數據,我們可以任意的去處理返回的數據。討論到這?,我們應該也很關心伺服器是怎麼返回數據的,返回的數據到底是什麼呢。舉個例子,接著上邊的代碼環境。在伺服器端的index.php文件中代碼如下: <?php |
|
[回上層目錄] | |
除商業用途,歡迎轉載。 轉載時請勿更改、刪減、或增加任何文字;並請註明出處。 以上文字或圖片若有侵害到任何人的權益,請來信至dcc@act-ioi.com.tw。 |