2013年2月28日 星期四

PHP使用AJAX


Xajax是一個開源的PHP函式庫,它能夠讓你結合HTML、CSS、JavaScript和PHP,輕而易舉的開發功能強大,基於Web的AJAX應用程式。使用Xajax開發的應用套件,無需重新載入頁面,即可非同步使用伺服器端的PHP函式和更新內容。
  • Xajax工作步驟
Web應用程式需要非同步用的PHP函式, Xajax的PHP對像都生成了對應的封裝好了的JavaScript函式,以下為進行步驟:
  1. 被呼叫時,封裝的函式使用JavaScript的XMLHttpRequest對象與伺服器非同步通訊,調用Xajax對像對應的PHP函式。
  2. 使用結束後,PHP函式由Xajax回傳一個Xajax的XML回應傳遞給應用程式。
  3. XML回應包含了特定的指令和數據,他們可以被Xajax的JavaScript訊息分析器解析後,更新Web應用程式有使用Xajax的內容。
  • 選擇Xajax函式庫的原因
Xajax提供了以下的功能,使得AJAX具有特點且功能強大:
  1. Xajax的XML回應/Javascript訊息系統已做到,自動處理函式的回傳數據,依照PHP函式回傳的指令更新內容;因為Xajax已實現這些,不須再撰寫Javascript的回傳處理函式。
  2. Xajax的程式結構,已分層的概念實施,不與其它程式碼混雜。
  3. 可加上自訂的功能給Xajax擴充XajaxResponse類別和使用addScript方法。
  4. Xajax支援所有瀏覽器可在Firefox、Mozilla、IE、Google,大部份基於Mozilla的瀏覽器、Internet Explorer和Safari。
  5. 更新元素的值和內含的HTML內容(innerHTML);Xajax還能用於更新CSS、多選和單選按鈕選擇,甚至可更新任何元素的屬性。
  6. 使用Xajax你可以動態的發送附加的Javascript作為請求的回應到你的應用程式中運行,而這就和動態的更新元素的屬性一樣方便。
  7. Xajax自動比較PHP函式回傳的數據與標記需要修改的元素屬性。當有新的數據確實可以改變現有的屬性,屬性才會進行更新;這將可消除程式在一定時間間隔內更新與當前內容相同或不同內容而出現的明顯的閃爍。
  8. 每個通過Xajax簡單註冊的函式,函式初始使用POST方式,除非你明確的指定使用GET方式。如果使用GET請求,必須明確的考慮它確實是你所需要的。
  9. 如果沒有指定URI,Xajax將設法自動確定腳本的URI。Xajax的自動確定算法經過了充分的驗證,確保在大部分HTTPS或者未知端口的HTTP伺服器上也可以正常的工作。
  10. Xajax使用UTF8編碼所有的請求和回應,以確保支援絕大部分的字元和語言。 Xajax已經成功測試了多種不同的Unicode字符,包括Spanish, Russian、Arabic and Hebrew。幾乎所有Xajax產生的Javascript都可透過動態的外部Javascript包含到你的Web程式之中。當查看瀏覽器的原始碼時,不會有JavaScript的函式定義混雜在HTML標記之中。

Xajax首頁:http://www.xajax-project.org/
參考出處

沒有留言:

張貼留言