ajax互動過程中跳入error function

2021-08-14 20:59:09 字數 2185 閱讀 1289

利用ztree寫前端頁面彈出框的**:

functionopen_tree_dialog(),

******data:

},callback:}};

//ztree

需要的json

varznodes = data;

//初始化ztree

varztreeobject =$.fn.ztree.init($("#ztree_div"),setting,znodes);

ztreeobject.expandall(true);

//彈出ztreediv

$("#ztree_dialog_div").dialog();

},error:function() ,

datatype:"json"});

匯入gson包自動解析,讓controller中返回的type型別的list可以自動轉化為json格式,但是始終只能跳入error:function,因此查詢了一些資料,希望能解決這個問題
舉例說明一些錯誤原因:

1. datatype錯誤

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

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

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

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

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

例如,你用post請求傳值到另乙個頁面後台,但是頁面一載入你的ajax就已經執行過了,傳值接收是在後台才完成的,這時候就請求不到資料,所以可以考慮把ajax請求改為同步試試。

3. data不能不寫

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

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

4. 傳遞的引數

必須是ajax支援的編碼格式

5. url路徑問題

路徑不能有中文

用error除錯錯誤資訊:

可以alert出來,檢視具體是**出錯了

具體引數:

xmlhttprequest:xmlhttprequest.readystate: 狀態碼的意思0 - (未初始化)還沒有呼叫send()方法

1 - (載入)已呼叫send()方法,正在傳送請求

2 - (載入完成)send()方法執行完成,已經接收到全部響應內容

3 - (互動)正在解析響應內容

4 - (完成)響應內容解析完成,可以在客戶端呼叫了

textstatus:錯誤原因nulltimeout error notmodified  parsererrorerrorthrown:(可選)捕獲的錯誤物件

筆者嘗試了在ajax傳送請求到controller的時候,將返回型別改為string,通過new乙個gson物件,呼叫gson.tojson(list)的方法,將type型別的list轉化為json格式的字串並響應至前台,仍然不能解決此問題,希望通過後面的研究能夠得到更加精準的回答

AJAX回傳過程中禁止使用者重複提交

最近碰到乙個問題 頁面使用了ajax,非jquery,用的是微軟的scriptmanager和updateprogress。如何在資料回傳過程中禁止使用者重複提交?即使用者點了提交按鈕後,按鈕不能用,等到資料回傳後,按鈕狀態自動變為可用!到微軟的論壇上去問了,高手給出了答案。經測試,下面的方法可行!...

AJAX回傳過程中禁止使用者重複提交

最近碰到乙個問題 頁面使用了ajax,非jquery,用的是微軟的scriptmanager和updateprogress。如何在資料回傳過程中禁止使用者重複提交?即使用者點了提交按鈕後,按鈕不能用,等到資料回傳後,按鈕狀態自動變為可用!到微軟的論壇上去問了,高手給出了答案。經測試,下面的方法可行!...

top執行過程中的一些互動命令

在top命令執行過程中可以使用的一些互動命令 從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,top命令列引數 b 批處理模式 batch mode 可輸出到管道 檔案。預設情況下 b會一直輸出,可以用 nn指定輸出次數。n n 限制輸出次數。d n 重新整理時間間隔。...