1. 程式人生 > >什麼是Ajax?和ajax中xmlhttp.readyState==4 && xmlhttp.status==200 是什麼意思?

什麼是Ajax?和ajax中xmlhttp.readyState==4 && xmlhttp.status==200 是什麼意思?

    新手上路,請多指教,做畢設之前我也不是很清楚這到底是個啥,而且從來沒聽說過,阿賈克斯???武器大師賈克斯???哈哈哈哈,不多說,經過長時間的翻閱,大概懂了一點,分享給大家下,有錯誤噴就行。。。

   我看的這哥的部落格理解的:https://blog.csdn.net/jiuqiyuliang/article/details/38425339

1.可以不用重新整理網頁就可以知道你的資料庫中的資訊有沒有?很神奇,這怎麼可能,瞬間就知道了。。。

Ajax全稱:Asynchronous JavaScript + XML=非同步 JavaScript + XML

很明顯這不是一個全新的東西,為啥來?因為JS我們總知道吧。

Ajax包括:

     1、HTML,用於建立web表單

     2、DOM,用於動態顯示和互動

     3、XML,使用XML做資料互動和操作

     4、XmlHttpRequest,進行非同步資料接收

     5、JavaScript,將它們緊密的結合在一起

Ajax的優缺點:

Ajax給我們帶來的好處,大家都有切身體會,在這裡我只是簡單的講幾點:

優點:

       1.最大的一點是頁面無重新整理,使用者的體驗度更好。

       2.非同步與伺服器互動,不需要打斷使用者操作,具有更快的響應能力。

       3.減輕伺服器和頻寬的負擔,節約空間和成本,ajax是“按需取資料”,可以最大程度的減輕對伺服器造成的負擔。

       4.基於標準化的並被廣泛應用的技術,不需要下載外掛或者小程式。

Ajax具有很多的優點,正是這些優點也反應了它的缺點(當然這裡缺點可以克服)。

缺點:

       1.安全問題

       2.對搜尋引擎的支援比較弱。

       3.破壞了程式的異常處理機制。

       4.違背了url和資源定位的初衷。


ajax中xmlhttp.readyState==4 && xmlhttp.status==200 是什麼意思?

xmlhttp.readyState的值及解釋:
0:請求未初始化(還沒有呼叫 open())。
1:請求已經建立,但是還沒有傳送(還沒有呼叫 send())。
2:請求已傳送,正在處理中(通常現在可以從響應中獲取內容頭)。
3:請求在處理中;通常響應中已有部分資料可用了,但是伺服器還沒有完成響應的生成。
4:響應已完成;您可以獲取並使用伺服器的響應了。

xmlhttp.status的值及解釋:
100——客戶必須繼續發出請求 
101——客戶要求伺服器根據請求轉換HTTP協議版本 

200——交易成功 
201——提示知道新檔案的URL 
202——接受和處理、但處理未完成 
203——返回資訊不確定或不完整 
204——請求收到,但返回資訊為空 
205——伺服器完成了請求,
使用者代理
必須復位當前已經瀏覽過的檔案 206——伺服器已經完成了部分使用者的GET請求 300——請求的資源可在多處得到 301——刪除請求資料 302——在其他地址發現了請求資料 303——建議客戶訪問其他URL或訪問方式 304——客戶端已經執行了GET,但檔案未變化 305——請求的資源必須從伺服器指定的地址得到 306——前一版本HTTP中使用的程式碼,現行版本中不再使用 307——申明請求的資源臨時性刪除 400——錯誤請求,如語法錯誤 401——請求授權失敗 402——保留有效ChargeTo頭響應 403——請求不允許 404——沒有發現檔案、查詢或URl 405——使用者在Request-Line欄位定義的方法不允許 406——根據使用者傳送的Accept拖,請求資源不可訪問 407——類似401,使用者必須首先在代理伺服器上得到授權 408——客戶端沒有在使用者指定的餓時間內完成請求 409——對當前資源狀態,請求不能完成 410——伺服器上不再有此資源且無進一步的參考地址 411——伺服器拒絕使用者定義的Content-Length屬性請求 412——一個或多個請求頭欄位在當前請求中錯誤 413——請求的資源大於伺服器允許的大小 414——請求的資源URL長於伺服器允許的長度 415——請求資源不支援請求專案格式 416——請求中包含Range請求頭欄位,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭欄位 417——伺服器不滿足請求Expect頭欄位指定的期望值,如果是代理伺服器,可能是下一級伺服器不能滿足請求 合起來 500——伺服器產生內部錯誤 501——伺服器不支援請求的函式 502——伺服器暫時不可用,有時是為了防止發生系統過載 503——伺服器過載或暫停維修 504——關口過載,伺服器使用另一個關口或服務來響應使用者,等待時間設定值較長 505——伺服器不支援或拒絕支請求頭中指定的HTTP版本 1xx:資訊響應類,表示接收到請求並且繼續處理 2xx:處理成功響應類,表示動作被成功接收、理解和接受 3xx:重定向響應類,為了完成指定的動作,必須接受進一步處理 4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行 5xx:服務端錯誤,伺服器不能正確執行一個正確的請求 xmlhttp.readyState==4 && xmlhttp.status==200的解釋:請求完成並且成功返回