使用者工具

網站工具


webdesign:head_rush_ajax

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
webdesign:head_rush_ajax [2007/02/26 00:43]
wenpei
webdesign:head_rush_ajax [2007/02/26 01:08] (目前版本)
wenpei
行 34: 行 34:
  
 </​code>​ </​code>​
 +
  
  
行 41: 行 42:
         // createRequest(); ​   // 已被靜態執行         // createRequest(); ​   // 已被靜態執行
         var url = "​getUpdatedBoardSales-ajax.php";​         var url = "​getUpdatedBoardSales-ajax.php";​
-        url = url + "?​dummy="​ + new Date().getTime();​+        url = url + "?​dummy="​ + new Date().getTime(); ​   // 解決瀏覽器快取問題
         createRequest();​         createRequest();​
         request.open("​GET",​ url, true); ​   // 初始化連線,將資料以 GET 的方式送到伺服器上給 url 檔案處理,true 表非同步         request.open("​GET",​ url, true); ​   // 初始化連線,將資料以 GET 的方式送到伺服器上給 url 檔案處理,true 表非同步
行 49: 行 50:
 </​code>​ </​code>​
  
-  * 四種備妥狀態: +四種備妥狀態: 
-    ​連線初始化 +    ​0. 尚未初始化 
-    ​正在處理 +    1. 連線已經初始化 
-    ​伺服器即將完成請求 +    ​2. 正在處理 
-    ​完成+    ​3. 伺服器即將完成請求,將資料傳給瀏覽器 
 +    ​4. 完成,可透過請求物件的 responseText 屬性取得回應資料 
   * 每次備妥狀態一改變,瀏覽器都會去執行 onreadystatechange 指定的回呼函式   * 每次備妥狀態一改變,瀏覽器都會去執行 onreadystatechange 指定的回呼函式
  
行 87: 行 90:
 } }
 </​code>​ </​code>​
 +
 +==== IE、Opera 瀏覽器的快取問題 ====
 +若 url 一樣時,瀏覽器會快取,再次送出請求(按下 button)時,瀏覽器會直接拿之前快取的資料,不會真正再向伺服器請求一次資料,造成資料無法更新。
 +
 +在 url 放入一些無意義的假參數(如時間),即可每次產生不同的 url。
 +
 +  url = url + "?​dummy="​ + new Date().getTime();​
webdesign/head_rush_ajax.1172421838.txt.gz · 上一次變更: 2007/02/26 00:48 (外部編輯)