SlideShare ist ein Scribd-Unternehmen logo
1 von 11
指導教授:羅榮華 博士
報告學生:蔡旻哲
報告日期:
擬視窗平台虛
整合 PHP 與 jQuery Ajax 函式庫
2009.07.28
大綱
jQuery 提供的 XMLHttpRequest 相關函式介紹
各種可接受的資料格式 (dataType) 介紹
解決透過 XMLHttpRequest 請求 PHP 回傳資訊時,在資料輸
出上容易發生資料格式或程式碼混亂等問題
處理程序的再利用性
jQuery 的 XMLHttpRequest 函式庫 ( 一 )
jQuery 提供以下幾個函式,可依照請求時的需求情況選擇
使用:
jQuery.ajax( options )
jQuery.load( url, data, callback )
jQuery.get( url, data, callback, type )
jQuery.getJSON( url, data, callback )
jQuery.getScript( url, callback )
jQuery.post( url, data, callback, type )
jQuery.ajaxSetup( options )
jQuery 的 XMLHttpRequest 函式庫 ( 二 )
jQuery.ajax 是主要的函式,其他函式皆只是提供簡化部份
參數,方便開發人員調用。
jQuery.ajax 函式的參數 Options 為一匿名物件,由於其成員
變數及函式 多,可直接參考官方網站所提供的文件眾
http://docs.jquery.com/Ajax/jQuery.ajax#toptions
資料格式 (dataType) 介紹 ( 一 )
The type of data that you're expecting back from the server. If none
is specified, jQuery will intelligently pass either responseXML or
responseText to your success callback, based on the MIME type of
the response. The available types (and the result passed as the first
argument to your success callback) are:
"xml": Returns a XML document that can be processed via jQuery.
"html": Returns HTML as plain text; included script tags are evaluated
when inserted in the DOM.
資料格式 (dataType) 介紹 ( 二 )
"script": Evaluates the response as JavaScript and returns it as plain
text. Disables caching unless option "cache" is used. Note: This will turn
POSTs into GETs for remote-domain requests.
"json": Evaluates the response as JSON and returns a JavaScript
Object.
"jsonp": Loads in a JSON block using JSONP. Will add an extra "?
callback=?" to the end of your URL to specify the callback. (Added in
jQuery 1.2)
"text": A plain text string.
PHP 回傳資訊
以往透過 XMLHttpRequest 請求 PHP 回傳資訊時,時常出現
以下問題:
資料格式:瀏覽器可接受的資料格式種類 多,伺服端回傳資料眾
時需告知瀏覽器 案類型,如檔 XML 資料需附加 頭標記為檔 XML 文
件;若為純文字格式傳回多筆資料時,則採用符號分隔 (*.csv) ,
至瀏覽器時再依照符號分割取得資料。若無統一的解決方案,將
可能造成各種自訂的回傳方式且難以維護。
程式碼混亂:伺服端 詢或資料處理完成之後,皆採用查 echo 指令
並依照所需的資料格式進行輸出,當資料內容較為複雜時,將會
有多個輸出指令遍 在程式碼中,因此若能將輸出資料進行收集佈
並統一輸出,將有效提升程式碼的可讀性及維護性。
AjaxRequest 類別
Class Diagram
ajax_request.php
Login
+loginCheck()
AjaxRequest
+$response
+__construct()
+response()
+output()
Ajax request API
使用 XMLHttpRequest 請求伺服器時,指定處理程序所屬的
模組、類別、函式名稱及回傳格式,以進行處理請求並回
傳資料。以下為指定處理程序的參數:
$m: 指定模組名稱 ( 即模組的資料夾名稱 ) ,以呼叫該
模組的處理程序。若未指定模組名稱則預設為系統內
建,以系統預設路徑呼叫處理程序。
$c :指定類別名稱,指定類別必須繼承 AjaxRequest 類
別。
$f: 指定函式名稱,並且會將此次 詢的環境變數查 (Get
與 Post) 合併陣列並作為指定函式的第一個參數傳入。
$t: 指定回傳資料的格式,將自動依照指定的格式傳回
資料。
處理程序的再利用性
處理程序將資料統一輸出,由客戶端程式決定回傳的資料
格式,可提供更彈性的資料處理。例如處理程序將回傳一
份符合某條件的客戶資料清單,於系統內使用時,可採用
方便存取的 Json 格式,進行資料的呈現;當需要與外部系
統進行資料交換時,則可採用 XML 格式進行交換,而不需
再次修改或另外新增處理程序。
參考文獻
jQuery Ajax API http://docs.jquery.com/Ajax

Weitere ähnliche Inhalte

Ähnlich wie Php&Xml Http Request

Underscore
UnderscoreUnderscore
Underscorecazhfe
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型keelii
 
没有Xhr,ajax精彩依旧
没有Xhr,ajax精彩依旧没有Xhr,ajax精彩依旧
没有Xhr,ajax精彩依旧vinqon
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoloadjay li
 
2015.07.22 新人報告(3)
2015.07.22 新人報告(3)2015.07.22 新人報告(3)
2015.07.22 新人報告(3)Chih-Wei Chuang
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7javatwo2011
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现yiditushe
 
Uliweb框架思想与编程
Uliweb框架思想与编程Uliweb框架思想与编程
Uliweb框架思想与编程modou li
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax LucenceRoger Xia
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训lotusprince
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术bigqiang zou
 
Ajax Transportation Methods
Ajax Transportation MethodsAjax Transportation Methods
Ajax Transportation Methodsyiditushe
 

Ähnlich wie Php&Xml Http Request (15)

Underscore
UnderscoreUnderscore
Underscore
 
异步编程与浏览器执行模型
异步编程与浏览器执行模型异步编程与浏览器执行模型
异步编程与浏览器执行模型
 
没有Xhr,ajax精彩依旧
没有Xhr,ajax精彩依旧没有Xhr,ajax精彩依旧
没有Xhr,ajax精彩依旧
 
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
 
A
AA
A
 
A
AA
A
 
2015.07.22 新人報告(3)
2015.07.22 新人報告(3)2015.07.22 新人報告(3)
2015.07.22 新人報告(3)
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
 
Uliweb框架思想与编程
Uliweb框架思想与编程Uliweb框架思想与编程
Uliweb框架思想与编程
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax Lucence
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训
 
Java Script 引擎技术
Java Script 引擎技术Java Script 引擎技术
Java Script 引擎技术
 
Ajax Transportation Methods
Ajax Transportation MethodsAjax Transportation Methods
Ajax Transportation Methods
 

Php&Xml Http Request

  • 2. 大綱 jQuery 提供的 XMLHttpRequest 相關函式介紹 各種可接受的資料格式 (dataType) 介紹 解決透過 XMLHttpRequest 請求 PHP 回傳資訊時,在資料輸 出上容易發生資料格式或程式碼混亂等問題 處理程序的再利用性
  • 3. jQuery 的 XMLHttpRequest 函式庫 ( 一 ) jQuery 提供以下幾個函式,可依照請求時的需求情況選擇 使用: jQuery.ajax( options ) jQuery.load( url, data, callback ) jQuery.get( url, data, callback, type ) jQuery.getJSON( url, data, callback ) jQuery.getScript( url, callback ) jQuery.post( url, data, callback, type ) jQuery.ajaxSetup( options )
  • 4. jQuery 的 XMLHttpRequest 函式庫 ( 二 ) jQuery.ajax 是主要的函式,其他函式皆只是提供簡化部份 參數,方便開發人員調用。 jQuery.ajax 函式的參數 Options 為一匿名物件,由於其成員 變數及函式 多,可直接參考官方網站所提供的文件眾 http://docs.jquery.com/Ajax/jQuery.ajax#toptions
  • 5. 資料格式 (dataType) 介紹 ( 一 ) The type of data that you're expecting back from the server. If none is specified, jQuery will intelligently pass either responseXML or responseText to your success callback, based on the MIME type of the response. The available types (and the result passed as the first argument to your success callback) are: "xml": Returns a XML document that can be processed via jQuery. "html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
  • 6. 資料格式 (dataType) 介紹 ( 二 ) "script": Evaluates the response as JavaScript and returns it as plain text. Disables caching unless option "cache" is used. Note: This will turn POSTs into GETs for remote-domain requests. "json": Evaluates the response as JSON and returns a JavaScript Object. "jsonp": Loads in a JSON block using JSONP. Will add an extra "? callback=?" to the end of your URL to specify the callback. (Added in jQuery 1.2) "text": A plain text string.
  • 7. PHP 回傳資訊 以往透過 XMLHttpRequest 請求 PHP 回傳資訊時,時常出現 以下問題: 資料格式:瀏覽器可接受的資料格式種類 多,伺服端回傳資料眾 時需告知瀏覽器 案類型,如檔 XML 資料需附加 頭標記為檔 XML 文 件;若為純文字格式傳回多筆資料時,則採用符號分隔 (*.csv) , 至瀏覽器時再依照符號分割取得資料。若無統一的解決方案,將 可能造成各種自訂的回傳方式且難以維護。 程式碼混亂:伺服端 詢或資料處理完成之後,皆採用查 echo 指令 並依照所需的資料格式進行輸出,當資料內容較為複雜時,將會 有多個輸出指令遍 在程式碼中,因此若能將輸出資料進行收集佈 並統一輸出,將有效提升程式碼的可讀性及維護性。
  • 9. Ajax request API 使用 XMLHttpRequest 請求伺服器時,指定處理程序所屬的 模組、類別、函式名稱及回傳格式,以進行處理請求並回 傳資料。以下為指定處理程序的參數: $m: 指定模組名稱 ( 即模組的資料夾名稱 ) ,以呼叫該 模組的處理程序。若未指定模組名稱則預設為系統內 建,以系統預設路徑呼叫處理程序。 $c :指定類別名稱,指定類別必須繼承 AjaxRequest 類 別。 $f: 指定函式名稱,並且會將此次 詢的環境變數查 (Get 與 Post) 合併陣列並作為指定函式的第一個參數傳入。 $t: 指定回傳資料的格式,將自動依照指定的格式傳回 資料。
  • 11. 參考文獻 jQuery Ajax API http://docs.jquery.com/Ajax