首页 > 代码库 > 关于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){
}
});