ajax中什麼時候進success和error

2022-02-10 10:49:24 字數 996 閱讀 1541

先簡單介紹下ajax:

簡單的說ajax請求通過xmlhttprequest物件傳送請求,該物件有四個狀態(readystate):

0-未初始化、1-正在初始化、2-傳送資料、3-正在傳送資料、4-完成。

當xmlhttprequest.readystate為4時,表示ajax請求已經完成可以得到響應結果。

ajax的success和error方法根據響應狀態碼來觸發。當xmlhttprequest.status為200的時候,表示響應成功,此時觸發success().其他狀態碼則觸發error()。

除了根據響應狀態碼外,ajax還會在下列情況下走error方法:

返回資料型別不是json

網路中斷

後台響應中斷

error:

常見錯誤:

1. datatype錯誤

型別錯誤:後台返回的datatype型別和前台寫的不一致會跳入error

格式錯誤:jquery1.4之後對json的格式要求非常嚴格,json格式錯誤也會跳入error. 注意格式

有時,在不需要返回值的情況下,扔按模板格式,設定了datatype:"json",引數;這時候,ajax傳值正確時,出現200返回成功狀態下報錯的特殊情況。

如果你在success中使用eval處理資料就是這個錯誤了!!!

2. async請求同步非同步問題

async預設是true(非同步請求),如果想乙個ajax執行完後再執行另乙個ajax, 需要把async=false

3. data不能不寫

data為空也一定要傳"{}";不然返回的是xml格式的。並提示parsererror. data:"{}"

parsererror的異常和header 型別也有關係。及編碼header('content-type: text/html; charset=utf8');

4. 傳遞的引數

必須是ajax支援的編碼格式

5. url路徑問題

路徑不能有中文

Ajax中什麼時候用同步,什麼時候用非同步?

ajax中根據async的值不同分為同步 async false 和非同步 async true 兩種執行方式 在w3c的教程中推薦使用非同步執行 ajax function2 預設情況下async是true 一.什麼是同步請求 false 同步請求即是當前發出請求後,瀏覽器什麼都不能做,必須得等到...

在Ajax中什麼時候用GET什麼時候用POST?

當我們有大量資料要傳送時最好的辦法是一次發出多個只傳遞少量資訊的ajax呼叫時。如果你正用乙個ajax呼叫傳送大量資料,那麼最好是結束這種做法,因為這樣做並不能節約時間。因此,需要傳送大量資料能成為我們在get和post之間猶豫不決的理由嗎?這兩個方法都是為不同的目的而設計的,兩者的不同也在於其使用...

ajax該什麼時候用

第 一 請求的提交是為了頁面資料的顯示,這時候使用者一般不希望看到頁面的重新整理,是使用ajax的乙個最佳時候。第二 如果請求提交後,使用者能從頁面感覺到提交結果,這時候,也最好不要有頁面重新整理,推薦使用ajax技術。第三 如果請求提交後,使用者不能從頁面感覺到提交動作,如絕大多數時候的資料的增加...