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 相关文章推荐
几个高效,简洁的字符处理函数
Apr 12 Javascript
jQuery图片滚动图片的效果(另类实现)
Jun 02 Javascript
javascript:json数据的页面绑定示例代码
Jan 26 Javascript
jquery分割字符串的方法
Jun 24 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
JavaScript与java语言有什么不同
Sep 22 Javascript
js实现倒计时及时间对象
Nov 15 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
原生JS实现瀑布流插件
Feb 06 Javascript
回顾Javascript React基础
Jun 15 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 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初学者们头痛的十四个问题
2007/01/15 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
jquery cookie插件代码类
2009/05/26 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
vue实现五子棋游戏
2020/05/28 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
python回调函数用法实例分析
2015/05/09 Python
实例Python处理XML文件的方法
2015/08/31 Python
python更改已存在excel文件的方法
2018/05/03 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
python数据挖掘需要学的内容
2019/06/23 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
python2和python3哪个使用率高
2020/06/23 Python
解决pip install psycopg2出错问题
2020/07/09 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
德国高性价比网上药店:medpex
2017/07/09 全球购物
学校募捐倡议书
2014/05/14 职场文书
创业计划书之农家乐
2019/10/09 职场文书
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers