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 相关文章推荐
jquery+json 通用三级联动下拉列表
Apr 19 Javascript
Webkit的跨域安全问题说明
Sep 13 Javascript
jquery子元素过滤选择器使用示例
Jun 24 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
Bootstrap模态框禁用空白处点击关闭
Oct 20 Javascript
jQuery grep()方法详解及实例代码
Oct 30 Javascript
微信小程序 tabs选项卡效果的实现
Jan 05 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
vue项目实战总结篇
Feb 11 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
JS实现鼠标按下拖拽效果
Jul 23 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实现简单四则运算器
2020/11/29 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
使用Python来开发微信功能
2018/06/13 Python
浅析python继承与多重继承
2018/09/13 Python
python进行文件对比的方法
2018/12/24 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
python清空命令行方式
2020/01/13 Python
python对象销毁实例(垃圾回收)
2020/01/16 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
初中英语演讲稿
2014/04/29 职场文书
有关环保的标语
2014/06/13 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
大学生简短的自我评价
2014/09/12 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书