webdesign:head_rush_ajax
差異處
這裏顯示兩個版本的差異處。
| 下次修改 | 前次修改 | ||
| webdesign:head_rush_ajax [2007/02/26 00:15] – 建立 wenpei | webdesign:head_rush_ajax [2007/02/26 01:08] (目前版本) – wenpei | ||
|---|---|---|---|
| 行 10: | 行 10: | ||
| ==== 建立請求物件 ==== | ==== 建立請求物件 ==== | ||
| + | 靜態 JavaScript:程式不在任何 function 中,當瀏覽器載入頁面時即執行 | ||
| < | < | ||
| <script language=" | <script language=" | ||
| - | + | // 靜態 JavaScript | |
| - | var request = null; | + | var request = null; |
| - | function | + | // 原本放在 |
| try { | try { | ||
| - | | + | |
| } catch (trymicrosoft) { | } catch (trymicrosoft) { | ||
| try{ | try{ | ||
| - | | + | |
| } catch (othermicrosoft) { | } catch (othermicrosoft) { | ||
| try { | try { | ||
| - | request = new ActiveXObject(" | + | request = new ActiveXObject(" |
| } catch (failed) { | } catch (failed) { | ||
| request = null; | request = null; | ||
| 行 32: | 行 32: | ||
| if (request == null) | if (request == null) | ||
| alert (" | alert (" | ||
| - | } | + | |
| </ | </ | ||
| + | |||
| + | |||
| ==== 送出請求 ==== | ==== 送出請求 ==== | ||
| < | < | ||
| function getBoardsSold() { | function getBoardsSold() { | ||
| - | createRequest(); | + | |
| var url = " | var url = " | ||
| - | url = url + "? | + | url = url + "? |
| createRequest(); | createRequest(); | ||
| request.open(" | request.open(" | ||
| 行 48: | 行 50: | ||
| </ | </ | ||
| - | * 四種備妥狀態: | + | 四種備妥狀態: |
| - | | + | |
| - | | + | 1. 連線已經初始化 |
| - | | + | |
| - | | + | |
| - | * onreadystatechange 會影響所有備妥狀態 | + | |
| + | |||
| + | * 每次備妥狀態一改變,瀏覽器都會去執行 onreadystatechange 指定的回呼函式 | ||
| ==== HTML 部份 ==== | ==== HTML 部份 ==== | ||
| 行 86: | 行 90: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== IE、Opera 瀏覽器的快取問題 ==== | ||
| + | 若 url 一樣時,瀏覽器會快取,再次送出請求(按下 button)時,瀏覽器會直接拿之前快取的資料,不會真正再向伺服器請求一次資料,造成資料無法更新。 | ||
| + | |||
| + | 在 url 放入一些無意義的假參數(如時間),即可每次產生不同的 url。 | ||
| + | |||
| + | url = url + "? | ||
webdesign/head_rush_ajax.1172420100.txt.gz · 上一次變更: (外部編輯)
