首页 > 代码库 > 关于ExtJS的两种Ajax请求和回调问题(转载)

关于ExtJS的两种Ajax请求和回调问题(转载)

1. Ext.form.Action.Submit的配置选项success、failure

根据返回json中success属性判断的,如果success为true,则success,false则failure,如果无json中无success属性,failure,故要提示操作是否成功,必须要返回success属性。

loginFormPanel.getForm().submit({

  method:‘POST‘,

  params:{

   username:username,

   password:password,

   checkCode:checkCode

  },

  success:function(form,action){//action接收json数据,json数据放在action.result中

   Ext.Msg.alert(‘提示‘,action.result.msg);

  },

  failure:function(form,action){

  }

});

所以在action中必须加上 inputStream=castToStream("{success:true,msg:‘...‘}"才能有效调用success回调函数

 如果不写success状态

2. Ext.Ajax.request的配置选项success、failure

根据response的status属性,即状态码决定的,200则为success,404或500等则为failure。这里的success是表示你的服务器响应状态值为200,即表示服务器成功响应。不管你响应给客户端的内容是什么,只要响应成功就会执行这个success,跟你返回的内容无关。至于你想根据你返回的参数success值进行判断分别处理,你得在上面的success中进行判断处理。比如像这样:

 

Ext.Ajax.request({

  url:‘struts/Login_login‘,

  method:‘POST‘,

  params:{

   username:username,

   password:password,

   checkCode:checkCode

  },

  success:function(response){

   Ext.Msg.alert(‘提示‘,response.responseText);

  },

  failure:function(response){

  }

});