Ajax一些問題的解決方案

堅持每天寫博文,記錄開發中的點點滴滴

  • ajax的請求都不需要使用緩存.

瀏覽器實現緩存原理:第二次請求的url如果和第一次請求的url一樣,那麼瀏覽器會使用緩存.
解決辦法:讓每次請求的url不一樣.
_t參數沒有任何意義,目的是讓url不同解決瀏覽器緩存問題.
“/AjaxServlet?_t=”+new Date().getTime()

  • 出錯的時候限制
    當請求出錯的時候,比如我在後臺寫一行錯誤代碼:
int i = 1/0;

那我的請求結果爲:
這裏寫圖片描述

但是這個結果不能讓用戶看到,那我應該在JS中添加一個判斷:

if(ajax.readyState == 4 && ajax.status == 200){
                //後臺文本數據
                var text = ajax.responseText;
                document.getElementById("text").innerHTML=text;
            }

其中readyState是請求狀態 ,而status http的響應狀態,正常是200

如果我想打印個錯誤信息:

if(ajax.readyState == 4){
                if(ajax.status == 200){
                    //後臺文本數據
                    var text = ajax.responseText;
                    document.getElementById("text").innerHTML=text;
                }else{
                    alert("請求失敗");
                }
            }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章