資源描述:
《ajax技術簡介及入門實例+收藏》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、AJAX技術簡介及入門實例收藏最近在學校參加暑期實習,參與的是一個社交網(wǎng)站項目,學長那邊分配給的任務是前端開發(fā),需要學習AJAX技術。對于一個像我一樣剛剛接觸Web開發(fā)且無多少實際項目經(jīng)驗的新手而言,AJAX技術顯得復雜而又深奧。經(jīng)過兩天的baidu、google,我對AJAX的基本原理有了一個大致的認識,在此總結一下。這里說明一下,以下文字多不是個人文筆原創(chuàng),而是wiki/IBMdevelopers/百度百科等的內(nèi)容,我只是稍微組織了一下,方便日后回顧而已.1.什么是AJAX?AJAX全稱是異步的JavaScrip
2、t和XML,是AsynchronousJavaScriptandXML的縮寫。AJAX技術用于創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)站開發(fā),至于何為異步,后文會有解釋。1.1桌面應用程序和Web應用程序在詳細討論AJAX技術之前,需要先知道AJAX技術究竟是用來做什么工作的。目前,編寫應用程序總共有兩種基本類型:桌面應用程序(DesktopApplication)Web應用程序(WebApplication)桌面應用程序可以從互聯(lián)網(wǎng)或者以CD方式獲得,需要運行在桌面計算機上,例如我們常見的一些PC軟件。Web應用程序與之不同,Web
3、應用程序師運行在某處的Web服務器上的,因此需要通過Web瀏覽器去訪問這樣的應用程序。不過,比這些應用程序的代碼運行在何處更為重要的是,應用程序如何運轉以及如何與其進行交互。桌面應用程序一般較快,并且擁有漂亮的用戶界面和非凡的動態(tài)性,可以單擊、選擇、打開菜單和子菜單、到處巡游,基本不需要等待;另一方面,Web應用程序(比如Amazon.com和eBay)提供了桌面程序不能實現(xiàn)的服務。然而,伴隨著Web的強大而出現(xiàn)的是等待,等待服務器的響應,等待屏幕刷新,等待請求返回和生成新的界面。AJAX的出現(xiàn),就是為了緩解Web應
4、用中與桌面應用相比中的等待這一問題。1.2AJAX-老技術,新面孔AJAX技術其實不是什么新技術,而是其他幾種已存在技術的整合。AJAX應用程序使用到以下基本技術:使用HTML和CSS來建立Web表單并表示網(wǎng)頁信息;使用JavaScript來操作DOM(DocumentObjectModel)來進行動態(tài)顯示及交互;使用XMLHttpRequest對象與Web服務器進行異步數(shù)據(jù)交換;使用XML進行數(shù)據(jù)交換及相關操作;使用JavaScript將所有東西綁定在一起。我們來進一步分析這些技術的職責。目前我只要熟悉這些組件和技
5、術就可以了。對這些代碼越熟悉,就越容易從對這些技術的零散了解轉變到真正把握這些技術(同時也真正打開了Web應用程序開發(fā)的大門)。XMLHttpRequest對象要了解的一個對象可能對您來說也是最陌生的,即XMLHttpRequest。這是一個JavaScript對象,創(chuàng)建該對象很簡單,如清單1所示。清單1.創(chuàng)建新的XMLHttpRequest對象viewplaincopytoclipboardprint?6、--varxmlHttp=newXMLHttpRequest();//-->以后將進一步學習這個對象,現(xiàn)在要知道這是處理所有服務器通信的對象。繼續(xù)閱讀之前,先停下來想一想:通過XMLHttpRequest對象與服務器進行對話的是JavaScript技術。這不是一般的應用程序流,這
7、恰恰是Ajax的強大功能的來源。在一般的Web應用程序中,用戶填寫表單字段并單擊提交按鈕。然后整個表單發(fā)送到服務器,服務器將它轉發(fā)給處理表單的腳本(通常是PHP或Java,也可能是CGI進程或者類似的東西),腳本執(zhí)行完成后再發(fā)送回全新的頁面。該頁面可能是帶有已經(jīng)填充某些數(shù)據(jù)的新表單的HTML,也可能是確認頁面,或者是具有根據(jù)原來表單中輸入數(shù)據(jù)選擇的某些選項的頁面。當然,在服務器上的腳本或程序處理和返回新表單時用戶必須等待。屏幕變成一片空白,等到服務器返回數(shù)據(jù)后再重新繪制。這就是交互性差的原因,用戶得不到立即反饋,因此
8、感覺不同于桌面應用程序。Ajax基本上就是把JavaScript技術和XMLHttpRequest對象放在Web表單和服務器之間。當用戶填寫表單時,數(shù)據(jù)發(fā)送給一些JavaScript代碼而不是直接發(fā)送給服務器。相反,JavaScript代碼捕獲表單數(shù)據(jù)并向服務器發(fā)送請求。同時用戶屏幕上的表單也不會閃爍、消失或延遲。換句話說,JavaScript