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 相关文章推荐
网页设计常用的一些技巧
Dec 22 Javascript
js身份证验证超强脚本
Oct 26 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
jQuery获取元素父节点的方法
Jun 21 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
ionic2中使用自动生成器的方法
Mar 04 Javascript
详解html-webpack-plugin插件(用法总结)
Sep 12 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
Oct 09 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
JavaScript实现简单计算器功能
Dec 19 Javascript
js实现蒙版效果
Jan 11 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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
jquery 查找新建元素代码
2010/07/06 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
js验证上传图片的方法
2015/05/12 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
Vue.js中数组变动的检测详解
2016/10/12 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
vue better-scroll插件使用详解
2018/01/25 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
python3抓取中文网页的方法
2015/07/28 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
对python中的高效迭代器函数详解
2018/10/18 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
园长自我鉴定
2013/10/06 职场文书
关于旷工的检讨书
2014/02/02 职场文书
早会主持词
2014/03/17 职场文书
企业职业病防治方案
2014/05/29 职场文书
建筑工地宣传标语
2014/06/18 职场文书
企业员工集体活动方案
2014/08/17 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
撤诉申请怎么写
2015/05/19 职场文书
MySQL之DML语言
2021/04/05 MySQL
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript