1. 程式人生 > >(轉)extjs form表單和ajax請求的配置選項success、failure

(轉)extjs form表單和ajax請求的配置選項success、failure

1. Ext.form.Action.Submit的配置選項success、failure

根據返回json中success屬性判斷的,如果success為true,則success,false則failure,如果無json中無success屬性,failure,故要提示操作是否成功,必須要返回success屬性。

[javascript] view plaincopy
  1. form.getForm().submit({  
  2.                         // 登入期間顯示的文字
  3.                         loadMask: myMask.show(),  
  4.                         // submit時指向的地址
  5.                         url: "userAction!login",  
  6.                         success: function(form, action) {  
  7.                             window.location.href = "home.jsp";  
  8.                         },  
  9.                         failure: function(form, action) {  
  10.                             myMask.hide();  
  11.                             Ext.Msg.alert("錯誤", action.result.info);  
  12.                         }  
  13. });  

2. Ext.Ajax.request的配置選項success、failure

根據response的status屬性,即狀態碼決定的,200則為success,404或500等則為failure。這裡的success是表示你的伺服器響應狀態值為200,即表示伺服器成功響應。不管你響應給客戶端的內容是什麼,只要響應成功就會執行這個success,跟你返回的內容無關。至於你想根據你返回的引數success值進行判斷分別處理,你得在上面的success中進行判斷處理。比如像這樣:

[javascript] view plaincopy
  1. Ext.Ajax.request({    
  2.             url:'admin!select',    
  3.             method:'post',    
  4.             waitMsg:'資料載入中,請稍後....',    
  5.             success:function(response,opts){    
  6.                 var obj=Ext.decode(response.responseText);    
  7.                 if(obj.success == "true") {//如果你處理的JSON串中true不是字串,就obj.success == true
  8.                      //你後臺返回success 為 false時執行的程式碼
  9.                 } else {  
  10.                      //你後臺返回success 為 false時執行的程式碼
  11.                 }  
  12.             },    
  13.             failure:function(response,opts){    
  14.                 var obj=Ext.decode(response.responseText);    
  15.                 alert(obj.result);    
  16.             }  
  17. });