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 相关文章推荐
地震发生中逃生十大法则
May 12 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
Feb 19 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
Oct 10 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
JS简单验证上传文件类型的方法
Apr 17 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
Nov 01 Javascript
Angular8 简单表单验证的实现示例
Jun 03 Javascript
js 数组当前行添加数据方法详解
Jul 28 Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 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
优化使用mysql存储session的php代码
2008/01/10 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
php中请求url的五种方法总结
2017/07/13 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
python字典一键多值实例代码分享
2019/06/14 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
Python 防止死锁的方法
2020/07/29 Python
python 5个顶级异步框架推荐
2020/09/09 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
使用python实现学生信息管理系统
2021/02/25 Python
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
二手房买卖协议书
2014/04/10 职场文书
工作试用期自我评价
2015/03/10 职场文书
美丽人生观后感
2015/06/03 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android