Extjs数据提交方式--单独Ajax提交

1、一般分为“form的submit提交”、“单独Ajax提交”

 

formname.form.submit({
    url : '',
    method : 'POST',
    waitMsg:'正在保存数据,请等待...',                
	success : function(form, action) {
    },
    failure : function(form, action) {
    }
});

Ext.Ajax.request({
    url : '',
    method : 'POST',
    success : function(result, request) {
    },
    failure : function(form, action) {
    }
});

 

2、相关问题及解决方法

(1)问题点: 单独Ajax提交方式,只要能够提交到后台不管数据能否正确执行就回调success函数,如果网络有故障,或者页面有错误数据到不了后台,就执行failure函数。而我们一般要求是:数据处理成功后显示成功信息,失败后显示失败信息。

 

如:后台返回结果:

{success:true}
{success:false,errors:connect}

 

 

(2)解决:在js页面中的success函数中取得返回值,我们对返回值进行判断,如果success是true我门就打印成功信息,如果success是false我们就打印失败的提示。

 

(3)从后台取得返回值:var responseArray = Ext.util.JSON.decode(response.responseText);

 

说明:Ext.util.JSON.decode()功能是将json字符串转成对象。相反的还有encode是将对象转成json字符串。

 

(4)代码示例

handler: function() {
Ext.Msg.wait('处理中,请稍后...', '提示'); //进度条等待
Ext.Ajax.request({
	async : false,//同步
	url: 'upload/test.do',
	success:function(response, options){
		//隐藏进度条
		Ext.Msg.hide();
		//将json数据字符串转变为对象
		var responseArray = Ext.util.JSON.decode(response.responseText);
		//成功
		if(responseArray.success==true){
			Ext.example.msg('成功', '           上传成功                    ');
		}else{
			//失败的几种返回情况
			if(responseArray.errors == 'connect')
				Ext.MessageBox.show({title: '失败',msg: '连接中心服务器失败,请检查网络配置!',buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.ERROR});
			else if(responseArray.errors == 'server')
				Ext.MessageBox.show({title: '失败',msg: '服务器错误,上传失败!',buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.ERROR});
			else
				Ext.MessageBox.show({title: '失败',msg: '上传失败',buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.ERROR});
		}
	},
	failure:function(response,options){
		Ext.Msg.hide();
		Ext.MessageBox.show({title: '失败',msg: '上传失败',buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.ERROR});
	}
});
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值