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});
}
});
}
分享到:
相关推荐
**ExtJS-3.4.0系列目录** 在ExtJS框架中,3.4.0版本提供了丰富的组件和功能,...在实际开发中,开发者还可以结合Ajax、Store、Proxy等概念来处理异步数据,以及利用ExtJS的事件系统进行组件间的通信和响应用户的操作。
Row Editing插件为Grid提供了一种用户友好的编辑模式,允许用户直接在表格行内编辑单元格数据,而不是打开单独的编辑窗口。这个项目中的源代码演示了如何集成并使用Row Editing插件。 首先,我们要了解Row Editing...
ExtJS提供了多种数据展示方式,如模板显示和DataView等。 ##### 9.1 模板显示 - XTemplate - **效果**:使用XTemplate动态渲染数据。 - **JS文件**: ```javascript var tpl = new Ext.XTemplate( '<ul>', '...
8. **Ajax和JsonP**:ExtJS内置了Ajax和JsonP支持,使得与服务器端的数据交换变得简单。通过使用这些功能,开发者可以创建异步、无刷新的应用程序。 9. **工具栏和菜单(Toolbars & Menus)**:这些组件为应用程序...
在ExtJS中,我们可以在表单提交之前,使用`Ext.Element`的`dom`属性获取到原始DOM元素,然后通过`new FormData(formElement.dom)`创建一个`FormData`实例。 三、Ajax 或 XMLHttpRequest 为了在不刷新页面的情况下...
在这个系统中,Struts2作为服务器端的核心,接收前端ExtJS4发送的AJAX请求,进行数据处理并返回响应。 登录和验证码功能是任何管理系统的重要组成部分。在"Extjs4+MVC+struts2后台管理系统"中,登录界面可能由ExtJS...
在 ExtJS 应用中,可以创建一个 FormPanel,包含用户名和密码字段,然后使用 AJAX 请求提交表单数据到 Struts2 动作,最后由 Struts2 返回结果到 ExtJS 控件。 总之,ExtJS 3.3.0 与 SSH 的整合允许开发者构建高效...
12. **通信篇**:这一部分深入探讨了ExtJs中的Ajax通信技术,包括异步请求、数据传输格式、请求头的设置等。 13. **extJs 2.0学习笔记**:这部分内容可能包含与2.1版本相关的进阶主题,如Ajax的使用、Ext.data的...
你可以利用ExtJS的`Ajax`类或`form.submit`方法来实现异步提交。 9. **批量上传**: 如果需要支持批量上传,可以考虑使用多选文件控件,并对每个文件进行单独的上传操作,或者将多个文件打包成一个大文件进行上传...
--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为...
-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。...
它显示确认对话框,并在用户确认后发送Ajax请求删除数据。原代码包含了一些可以简化的地方,比如使用箭头函数和对象解构,这样可以减少代码行数,同时保持清晰可读: ```javascript function $postDel({ url, ...
在EXTJS中实现多文件上传和下载...总之,EXTJS实现多文件上传和下载涉及前端的文件选择、数据提交、状态显示,以及后端的接收、验证和返回响应。理解并掌握这些知识点,能帮助开发者构建出高效、稳定的文件操作功能。
批量上传时,我们可能需要对每个文件进行单独的提交,或者将所有文件打包成一个大的多部分表单数据包发送。 配置文件在批量上传中也扮演着重要角色。这些文件可能包括 Ext JS 应用的配置(如`app.json`),以及...
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。 系统...
然后,通过AJAX或者表单提交的方式,将选定的文件发送到服务器进行处理。 2. **frameset和iframe**:两者都是用来在网页中嵌入其他页面的元素。frameset是HTML4时代的特性,用于划分页面为多个框架;iframe则是...
碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 B. 修改日志 C. 后记 C.1. 2007年12月5日,迷茫阶段 C.1.1. 仇恨 C.1.2. 反省 C.2. 关于ext与dwr整合部分的...
碰到使用ajax获得数据,或者提交数据出现乱码 A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行 A.9. 有关grid的一些小问题 A.9.1. 如何让grid总所有的列都支持排序 A.9.2. 修改一个grid的ColumnModel和...