跳至內容
Sars' History
使用者工具
登入
網站工具
工具
顯示頁面
舊版
反向連結
最近更新
多媒體管理器
網站地圖
登入
最近更新
多媒體管理器
網站地圖
足跡:
•
ms_on_linux
•
javascript
•
xwindow
•
linux_server_hacks_100_tips
webdesign:head_rush_ajax_appendix
本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。
====== Head Rush Ajax 讀書筆記 ====== ===== Appendix 1 ===== ===== Ajax 工具包 ===== ==== Prototype ==== http://prototype.conio.net <script type="text/javascript" src="prototype.js"> </script> <code> var request = new Ajax.Request( url, // 請求所要送達的地方 { method: 'get', // GET or POST parameters: 'phone=1234567890&name=SARS', // 名值對,送到伺服端 onSuccess: updatePage, onFailure: reportError // 發生錯誤時執行此回呼函式 } ...... } 處理回應: <code> function updatePage(request) { var response = request.responseText; // 不需要檢查備妥狀態和狀態碼,Prototype 會處理 } </code> ==== Dojo ==== http://dojotoolkit.org 想使用「包裹」時,就在靜態 JavaScript 中執行 dojo.require(包裹名稱)。 dojo.io.bind 是 Dojo 包裹,含有 Ajax 相關程式碼和通用程式。 <code> <script language="JavaScript" type="text/javascript"> dojo.require("dojo.io.bind"); </script> </code> 送出請求: <code> var arguments = { url: 'lookupCustomer.php', method: 'GET', content: 'phone=1234567890&name='SARS', error: reportError, load: updatePage }; dojo.io.bind(arguments); </code> 處理回應: <code> function updatePage(type, value, evt) { var response = value; // 伺服器的回應 } </code> ===== JavaScript 程式庫,建立使用者介面。 ===== ==== script.aculo.us ==== http://script.aculo.us <script type="text/javascript" src="prototype.js"> </script> <script type="text/javascript" src="scriptaculous.js"> </script> ==== Rico ==== http://openrico.org <script type="text/javascript" src="prototype.js"> </script> <script type="text/javascript" src="rico.js"> </script> <script type="text/javascript" src="util.js"> </script> ===== JSON-PHP ===== http://mike.teczno.com/json.html <code> require_once('JSON.php'); $json = new Services_JSON(); $order1 = array('name' => 'SARS', 'age' => 18 ); $order2 = array('name' => 'Kimble', 'age' => 17 ); $orders = array('coffeeOrders' => array($order1, $order2) ); $output = $json->encode($orders); print($output); </code> ===== JSON 剖析器 ===== eval() 直接執行伺服器傳回來的 JSON 回應,沒有考慮到安全問題。 使用 JSON 剖析器,避免在 JavaScript 中使用 eval()。 http://www.json.org/js.html var jsonData = JSON.parse(request.resonseText); JSON 剖析器只接受字串輸入,JSON.parse() 將伺服器回應字串當參數,轉變成物件。
webdesign/head_rush_ajax_appendix.txt
· 上一次變更: 2007/03/04 18:00 由
wenpei
頁面工具
顯示頁面
舊版
反向連結
回到頁頂