Extjs/Ajax中的success和failure 何时调用?

2014/03/17 18:32
阅读数 6.6K

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

  18. }); 


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部