webdesign:head_rush_ajax_appendix
差異處
這裏顯示兩個版本的差異處。
| 下次修改 | 前次修改 | ||
| webdesign:head_rush_ajax_appendix [2007/03/04 17:27] – 建立 wenpei | webdesign:head_rush_ajax_appendix [2007/03/04 18:00] (目前版本) – wenpei | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Head Rush Ajax 讀書筆記 ====== | ====== Head Rush Ajax 讀書筆記 ====== | ||
| - | ===== Chapter Five ===== | + | ===== Appendix 1 ===== |
| + | ===== Ajax 工具包 | ||
| ==== Prototype ==== | ==== Prototype ==== | ||
| http:// | http:// | ||
| 行 24: | 行 25: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== Dojo ==== | ||
| + | http:// | ||
| + | |||
| + | 想使用「包裹」時,就在靜態 JavaScript 中執行 dojo.require(包裹名稱)。 | ||
| + | |||
| + | dojo.io.bind 是 Dojo 包裹,含有 Ajax 相關程式碼和通用程式。 | ||
| + | |||
| + | < | ||
| + | <script language=" | ||
| + | dojo.require(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 送出請求: | ||
| + | < | ||
| + | var arguments = { | ||
| + | url: ' | ||
| + | method: ' | ||
| + | content: ' | ||
| + | error: reportError, | ||
| + | load: updatePage | ||
| + | }; | ||
| + | |||
| + | dojo.io.bind(arguments); | ||
| + | </ | ||
| + | |||
| + | 處理回應: | ||
| + | < | ||
| + | function updatePage(type, | ||
| + | var response = value; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== JavaScript 程式庫,建立使用者介面。 ===== | ||
| + | ==== script.aculo.us ==== | ||
| + | http:// | ||
| + | |||
| + | <script type=" | ||
| + | <script type=" | ||
| + | |||
| + | |||
| + | ==== Rico ==== | ||
| + | http:// | ||
| + | |||
| + | <script type=" | ||
| + | <script type=" | ||
| + | <script type=" | ||
| + | |||
| + | ===== JSON-PHP ===== | ||
| + | http:// | ||
| + | |||
| + | < | ||
| + | require_once(' | ||
| + | $json = new Services_JSON(); | ||
| + | |||
| + | $order1 = array(' | ||
| + | ' | ||
| + | $order2 = array(' | ||
| + | ' | ||
| + | |||
| + | $orders = array(' | ||
| + | $output = $json-> | ||
| + | print($output); | ||
| + | </ | ||
| + | |||
| + | ===== JSON 剖析器 ===== | ||
| + | eval() 直接執行伺服器傳回來的 JSON 回應,沒有考慮到安全問題。 | ||
| + | |||
| + | 使用 JSON 剖析器,避免在 JavaScript 中使用 eval()。 | ||
| + | |||
| + | http:// | ||
| + | |||
| + | var jsonData = JSON.parse(request.resonseText); | ||
| + | |||
| + | JSON 剖析器只接受字串輸入,JSON.parse() 將伺服器回應字串當參數,轉變成物件。 | ||
webdesign/head_rush_ajax_appendix.1173000428.txt.gz · 上一次變更: (外部編輯)
