首頁技術文章正文

PHP培訓教程之AJAX技術

更新時間:2017-05-16 來源:黑馬程序員PHP培訓學院 瀏覽量:

1、AJAX初步認識
AJAX的全稱是Asynchronous JavaScript And XML.
AJAX是2005年由Google發(fā)起并流行起來的編程方法, AJAX不是一個新的編程語言,但是它是一個使用已有標準的新的編程技術。是一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術。
使用AJAX可以創(chuàng)建更好,更快,更用戶界面友好的Web應用。
 AJAX技術基于Javascript和HTTP Request.
 Ajax包含下列技術:
基于web標準(standards-basedpresentation)XHTML+CSS的表示;
使用 DOM(Document ObjectModel)進行動態(tài)顯示及交互;
使用 XML 和 XSLT 進行
數據交換及相關操作;
使用 XMLHttpRequest 進行異步數據查詢、檢索;
使用 JavaScript 將所有的東西綁定在一起。

 

2、使用Ajax的好處
 1、通過異步模式,提升了用戶體驗
 2、優(yōu)化了瀏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用
 3、Ajax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。

 

3、AJAX最大的特點
 Ajax可以實現(xiàn)動態(tài)不刷新(局部刷新)
    就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,并避免了在網絡上發(fā)送那些沒有改變過的信息。
 

4、XMLhttprequest對象。
 Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務器提出請求并處理響應,而不阻塞用戶。通過XMLHttpRequest對象,Web開發(fā)人員可以在頁面加載以后進行頁面的局部更新。
 

5、AJAX技術體系的組成部分有哪些?
HTML,css,dom,xml,xmlHttpRequest,javascript
 
6、AJAX應用和傳統(tǒng)Web應用有什么不同。
    在傳統(tǒng)的Javascript編程中,如果想得到服務器端數據庫或文件上的信息,或者發(fā)送客戶端信息到服務器,需要建立一個HTML form然后GET或者POST數據到服務器端。用戶需要點擊”Submit”按鈕來發(fā)送或者接受數據信息,然后等待服務器響應請求,頁面重新加載。
因為服務器每次都會返回一個新的頁面, 所以傳統(tǒng)的web應用有可能很慢而且用戶交互不友好。
 使用AJAX技術, 就可以使Javascript通過XMLHttpRequest對象直接與服務器進行交互。
通過HTTP Request, 一個web頁面可以發(fā)送一個請求到web服務器并且接受web服務器返回的信息(不用重新加載頁面),展示給用戶的還是通一個頁面,用戶感覺頁面刷新,也看不到到Javascript后臺進行的發(fā)送請求和接受響應。

 
7、AJAX請求總共有多少種CALLBACK
Ajax請求總共有八種Callback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException

 
8.Ajax和javascript的區(qū)別
    javascript是一種在瀏覽器端執(zhí)行的腳本語言,Ajax是一種創(chuàng)建交互式網頁應用的開發(fā)技術 ,它是利用了一系列相關的技術其中就包括javascript。
    Javascript是由網景公司開發(fā)的一種腳本語言,它和sun公司的java語言是沒有任何關系的,它們相似的名稱只是一種行銷策略。
在一般的web開發(fā)中,javascript是在瀏覽器端執(zhí)行的,我們可以用javascript控制瀏覽器的行為和內容。
 

9、在 Ajax應用中信息是如何在瀏覽器和服務器之間傳遞的
   通過XML數據或者字符串
 
10、在瀏覽器端如何得到服務器端響應的XML數據。
    XMLHttpRequest對象的responseXMl屬性
 
12、 XMLHttpRequest對象在IE和Firefox中創(chuàng)建方式的不同 
    有,IE中通過new ActiveXObject()得到,F(xiàn)irefox中通過newXMLHttpRequest()得到10、介紹一下XMLHttpRequest對象的常用方法和屬性。
    open(“method”,”URL”) 建立對服務器的調用,第一個參數是HTTP請求方式可以為GET,POST或任何服務器所支持的您想調用的方式。
    第二個參數是請求頁面的URL。
    send()方法,發(fā)送具體請求
    abort()方法,停止當前請求!
    readyState屬性請求的狀態(tài) 有5個可取值0=未初始化 ,1=正在加載,2=以加載,3=交互中,4=完成
    responseText 屬性服務器的響應,表示為一個串
    reponseXML 屬性服務器的響應,表示為XML
    status服務器的HTTP狀態(tài)碼,200對應ok  400對應not found
 

13、AJAX的優(yōu)點和缺點
1、最大的一點是頁面無刷新,用戶的體驗非常好。
2、使用異步方式與服務器通信,具有更加迅速的響應能力。
3、可以把以前一些服務器負擔的工作轉嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務器和帶寬的負擔,節(jié)約空間和寬帶租用成本。并且減輕服務器的負擔,ajax的原則是“按需取數據”,可以最大程度的減少冗余請求,和響應對服務器造成的負擔。
4、基于標準化的并被廣泛支持的技術,不需要下載插件或者小程序。

 
14、ajax的缺點
1、ajax不支持瀏覽器back按鈕。
2、安全問題 AJAX暴露了與服務器交互的細節(jié)。
3、對搜索引擎的支持比較弱。
4、破壞了程序的異常機制。
5、不容易調試。

 
15、介紹XMLHttpRequest對象
 通過XMLHttpRequest對象,Web開發(fā)人員可以在頁面加載以后進行頁面的局部更新。
  AJAX開始流行始于Google在2005年使用的”Google Suggest”。
“Google Suggest”就是使用XMLHttpRequest對象來創(chuàng)建動態(tài)的Web接口:
當用戶開始輸入google的搜索框,Javascript發(fā)送用戶輸入的字符到服務器,然后服務器返回一個建議列表。
XMLHttpRequest對象在IE5.0+, Safari 1.2, Mozilla1.0/Firefox, Opera 8+ 和NetScapt7 開始被支持。
 

16、如果熟悉某種ajax框架,他可能會問到怎樣在程序中使用這種框架
    DWR(DirectWeb Remoting)是一個WEB遠程調用框架.利用這個框架可以讓AJAX開發(fā)變得很簡單.利用DWR可以在客戶端利用JavaScript直接調用服務端的Java方法并返回值給JavaScript就好像直接本地客戶端調用一樣(DWR根據Java類來動態(tài)生成JavaScrip代碼).  
    DWR的實現(xiàn)原理是通過反射,將java翻譯成javascript,然后利用回調機制,從而實現(xiàn)了javascript調用Java代碼



本文版權歸黑馬程序員php培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

作者:黑馬程序員php培訓學院

首發(fā):http://low-budgetmovie.com/news/php.html

分享到:
在線咨詢 我要報名
和我們在線交談!