extJS中常用的4种Ajax异步提交方式


Posted in Javascript onMarch 07, 2014

/**

* 第一种Ajax提交方式 
* 这种方式需要直接使用ext Ajax方法进行提交 
* 使用这种方式,需要将待传递的参数进行封装 
* @return 
*/ 
function saveUser_ajaxSubmit1() { 
Ext.Ajax.request( { 
url : 'user_save.action', 
method : 'post', 
params : { 
userName : document.getElementById('userName').value, 
password : document.getElementById('password').value 
}, 
success : function(response, options) { 
var o = Ext.util.JSON.decode(response.responseText); 
alert(o.msg); 
}, 
failure : function() { 
} 
}); 
} 
/** 
* 第二种Ajax提交方式 
* 这种方式将为ext的ajax指定一个html表单 
* 使用这种方式,不需要将待传递的参数进行封装 
* 
* @return 
*/ 
function saveUser_ajaxSubmit2() { 
Ext.Ajax.request( { 
url : 'user_save.action', 
method : 'post', 
form : 'userForm', // 指定表单 
success : function(response, options) { 
var o = Ext.util.JSON.decode(response.responseText); 
alert(o.msg); 
}, 
failure : function() { 
} 
}); 
} 
/** 
* 第三种Ajax提交方式 
* 这种方式将为ext的自己的表单进行提交 
* 使用这种方式,需要使用ext自己的textField组件 
* 
* @return 
*/ 
function saveUser_ajaxSubmit3() { 
// 定义表单 
var formPanel = new Ext.FormPanel( { 
labelWidth : 75, 
frame : true, 
bodyStyle : 'padding:5px 5px 0', 
width : 350, 
defaults : { 
width : 230 
}, 
defaultType : 'textfield', 
items : [ { 
fieldLabel : '用户名', 
name : 'userName', 
allowBlank : false 
}, { 
fieldLabel : '密 码', 
name : 'password' 
} ] 
}); 
// 定义窗口 
var win = new Ext.Window( { 
title : '添加用户', 
layout : 'fit', 
width : 500, 
height : 300, 
closeAction : 'close', 
closable : false, 
plain : true, 
items : formPanel, 
buttons : [ { 
text : '确定', 
handler : function() { 
var form = formPanel.getForm(); 
var userName = form.findField('userName').getValue().trim(); 
var password = form.findField('password').getValue().trim(); 
if (!userName) { 
alert('用户名不能为空'); 
return; 
} 
if (!password) { 
alert('密码不能为空'); 
return; 
} 
form.submit( { 
waitTitle : '请稍后...', 
waitMsg : '正在保存用户信息,请稍后...', 
url : 'user_save.action', 
method : 'post', 
success : function(form, action) { 
alert(action.result.msg); 
}, 
failure : function(form, action) { 
alert(action.result.msg); 
} 
}); 
} 
}, { 
text : '取消', 
handler : function() { 
win.close(); 
} 
} ] 
}); 
win.show(); 
} 
/** 
* 第四种Ajax提交方式 
* 这种方式将html的表单转化为ext的表单进行异步提交 
* 使用这种方式,需要定义好html的表单 
* 
* @return 
*/ 
function saveUser_ajaxSubmit4() { 
new Ext.form.BasicForm('userForm').submit( { 
waitTitle : '请稍后...', 
waitMsg : '正在保存用户信息,请稍后...', 
url : 'user_save.action', 
method : 'post', 
success : function(form, action) { 
alert(action.result.msg); 
}, 
failure : function(form, action) { 
alert(action.result.msg); 
} 
}); 
}
Javascript 相关文章推荐
Javascript笔记一 js以及json基础使用说明
May 22 Javascript
异步加载script的代码
Jan 12 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
Jquery AJAX POST与GET之间的区别
Nov 14 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
Nov 16 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
Sep 14 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
禁用JavaScript控制台调试的方法
Mar 07 #Javascript
jquery日历控件实现方法分享
Mar 07 #Javascript
jquery.form.js用法之清空form的方法
Mar 07 #Javascript
jquery设置按钮停顿3秒不可用
Mar 07 #Javascript
jquery 实现两级导航菜单附效果图
Mar 07 #Javascript
document.addEventListener使用介绍
Mar 07 #Javascript
开发中可能会用到的jQuery小技巧
Mar 07 #Javascript
You might like
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP 数组基础知识小结
2010/08/20 PHP
PHP安全技术之 实现php基本安全
2010/09/04 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
PHP chop()函数讲解
2019/02/11 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
Vue实现购物车功能
2017/04/27 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
浅析python中的迭代与迭代对象
2018/10/08 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
置业顾问岗位职责
2014/03/02 职场文书
驻村工作先进事迹
2014/08/14 职场文书
办公用房租赁协议书
2014/11/29 职场文书
党员个人总结范文
2015/02/14 职场文书
共青团员自我评价
2015/03/10 职场文书
导游词之五台山
2019/10/11 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS