您的位置:首页 > 产品设计 > UI/UE

Ext FormPanel submit 提交success 与Ext.Ajax.request提交的success 区别

2011-07-03 15:19 891 查看
一、Ext.Ajax.request提交的例子:
failure Ext.get('bt1').on('click', function(e) {
Ext.MessageBox.confirm('重要操作', '你确认吗?。',button1);
});
var button1 = function(btn) {
if (btn == 'yes') {
Ext.Ajax.request({
url : 'GetDataAction.do?action=test,
method : 'post',
params : {
month : vmonth
},
success : function(form, action) {
var obj = Ext.util.JSON.decode(form.responseText);
if(obj.success==true){
Ext.MessageBox.alert("提示", "成功执行!");
}else{
Ext.Msg.alert("错误",obj.errors);
}
},
failure : function(form, action) {
Ext.MessageBox.alert("执行失败", "与后台联系时出现问题!");
}
});
}
}
后台java脚本:
if(!dao.valid()){
//操作业务成功
}else{
response.getWriter().println("{'success':false,'errors':'业务发生错误!'};
}return;
二、submit 提交的例子
var fp = new Ext.form.FormPanel({
items:{xtype:'textfield'},
buttons: [{
text: '提交',
formBind: true,
handler: function(){
if(fp.getForm().isValid()){
fp.getForm().submit({
Ext.Ajax.request({
url: 'GetDataAction.do?action=test',
waitMsg: '正在提交...',
success: function(form, action){
// server responded with success = true
//var result = action.result;
Ext.MessageBox.alert("提示", "成功执行");
},
failure: function(form, action){
if (action.failureType === Ext.form.Action.CONNECT_FAILURE) {
Ext.Msg.alert('连接错误',
'Status:'+action.response.status+': '+
action.response.statusText);
}
if (action.failureType === Ext.form.Action.SERVER_INVALID){
// server responded with success = false
Ext.Msg.alert('业务错误', '业务信息发生了错误');
}
}
});
//}
}
},{
text: 'Reset',
handler: function(){
fp.getForm().reset();
}
}]

})
fp.render('divtest2');

例子2来源Extjs文档。三、根据两个例子看出:
1、Ext.Ajax.request提交,不能验证“Ext.form.Action.SERVER_INVALID”的值,所有返回都是成功。
2、如果要在submit()返回failure中信息显示:Ext.Msg.alert('错误', action.result.msg);需要后台返回的json字符串中带有errors,如:
response.getWriter().write("{'success':false,errors:'错误','msg':'msg中的信息'}");
暂时想到这里……
参考文章:
http://blog.csdn.net/wayfoon322/archive/2008/12/12/3503118.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: