Extjs/Ajax中的success和failure 什麼時候調用?

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

根據返回json中success屬性判斷的,若是success爲true,則success,false則failure,若是無json中無success屬性,failure,故要提示操做是否成功,必需要返回success屬性。javascript

[javascript] view plaincopyjava

  1. form.getForm().submit({  json

  2.                         // 登陸期間顯示的文本  服務器

  3.                         loadMask: myMask.show(),  jsp

  4.                         // submit時指向的地址  ide

  5.                         url: "userAction!login",  post

  6.                         success: function(form, action) {  url

  7.                             window.location.href = "home.jsp";  spa

  8.                         },  .net

  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.             }  

  18. }); 

相關文章
相關標籤/搜索