EXT ajax简单实例
转载:http://www.cnblogs.com/xiepeixing/archive/2012/10/24/2736751.html
EXT ajax request是ext中对于ajax请求的实现。
通过客户端向服务端发送Ajax请求,可以“直接”调用MVC的action方法,并传递参数,action返回值可以是普通字符串,也可以是json对象。请求可以添加自定义头信息
例1异步请求,发送请求头。

Ext.onReady(function () {
new Ext.Button({
renderTo: "div1",
text: "后台Ajax提交",
handler: function () {
Ext.Ajax.request({
url: 'Ajax_Func1',
headers: {
'userHeader': 'userMsg'
},
params: { a: 10, b: 20 },
method: 'GET',
success: function (response, options) {
Ext.MessageBox.alert('成功', '从服务端获取结果: ' + response.responseText);
},
failure: function (response, options) {
Ext.MessageBox.alert('失败', '请求超时或网络故障,错误编号:' + response.status);
}
});
},
id: "bt1"
});
});

后台的代码:
public ContentResult Ajax_Func1(int a, int b)
{
string userHeaderMsg = Convert.ToString(Request.Headers["userHeader"]);
return Content((a + b).ToString() + ",userHeader:" + userHeaderMsg);
}
例2 异步请求,返回json结果

Ext.onReady(function () {
new Ext.Button({
renderTo: "div1",
text: "后台Ajax提交方式2返回JSON",
handler: function () {
Ext.Ajax.request({
url: 'Ajax_Func2',
params: { n: 10 },
method: 'POST',
callback: function (options, success, response) {
if (success) {
var responseJson = Ext.JSON.decode(response.responseText);
Ext.Msg.alert("成功", options.params.n + "的阶乘是:<font color='red'>" + responseJson.n1 + "</font><br />"
+ options.params.n + "的累加是:<font color='red'>" + responseJson.n2 + "</font>");
} else {
Ext.Msg.confirm('失败',
'请求超时或网络故障,错误编号:[' + response.status + ']是否要重新发送?', function (btn) {
if (btn == 'yes') {
Ext.Ajax.request(options);
}
});
}
}
});
}
});
});

例3 异步文件上传:

//文件上传
Ext.get("button1").on("click", function () {
Ext.Ajax.request({
url: "Ajax_FileUp",
isUpload: true,
form: "form1",
success: function (response) {
Ext.MessageBox.alert("上传成功,文本文件内容:", response.responseText);
}
});
});


public ContentResult Ajax_FileUp(HttpPostedFileBase file)
{
System.IO.StreamReader r = new System.IO.StreamReader(file.InputStream, System.Text.UTF8Encoding.Default);
var str = r.ReadToEnd();
return Content(str);
}

例4 异步请求事件。 当发起ajax请求之前,可以监听beforerequest事件,本例每当发起ajax事件时,都会把计算器+1:
var ajaxCount = 0;
//每当Ajax请求发起时触发:
Ext.Ajax.on('beforerequest', function () { Ext.get("span1").update(++ajaxCount) }, this);
ajax几个常用的参数如下:
success Function 指定当Ajax请求执行成功后执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
failure Function 指定当请求出现错误时执行的回调函数,传递给回调函数两个参数,第一个参数response表示执行Ajax请求的XMLHttpRequet对象,第二个参数表示执行request方法时的options对象。
scope Object 指定回调函数的作用域,默认为浏览器window。
form Object/String 指定要提交的表单id或表单数据对象。
isUpload Boolean 指定要提交的表单是否是文件上传表单,默认情况下会自动检查。
headers Object 指定请求的Header信息。
xmlData Object 指定用于发送给服务器的xml文档,如果指定了该属性则其它地方设置的参数将无效。
jsonData Object/String 指定需要发送给服务器端的JSON数据。如果指定了该属性则其它的地方设置的要发送的参数值将无效。
disableCaching Boolean 是否禁止cache。
总结一下,ext ajax和jquery的ajax差不多,主要是熟悉几个参数,处理好返回值。
EXT ajax简单实例的更多相关文章
- PHP Ajax简单实例
最近学习Jquery Ajax部分,通过简单例子,比较了下post,get方法的不同 HTML部分 <html> <head> <title>jQuery Ajax ...
- php的ajax简单实例
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈. 为了防止我自己忘记,现在把这个简单的实例记录下.这个实例是网上搜的,文末附上链接. 首先你得有自己的服务器 ...
- ASP.NET Ajax 简单实例
本实例讲解Ajax 调用WCF服务. 1.建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service). 2.IDE会自动生成一个SVC文件. 3.服务代码 ...
- Ajax 简单实例,其实就是js里面内容有些不同而已(转载)
这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来.不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人. 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋 ...
- AJAX简单实例
越用AJAX越觉得它的强大.好用. 平常我们提交表单,是直接通过action属性,直接向后台提交数据. 我们也可以用AJAX向后台提交数据.例如: 这是一个表单,两个字段:notice,scort,保 ...
- ajax 简单实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...
- Ajax简单实例(基于jQuery)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 初学者必读之AJAX简单实例2
1.a前台页面的主体 b.添加script函数: 这个函数功能1:把文本框的数据传入到后台程序 2.再接收后台程序处理之后的数据,将其插入到页面 2.后台程序功能 软件测试
- ajax原理总结附简单实例及其优点
在工作中用了Ajax N多次了,也看过一些相关方面的书籍,也算是认识了它,但是一直没有认真总结和整理过相关的东东,失败! 近有闲情,将之总结如下: [名称] Ajax是Asynchronous Jav ...
随机推荐
- 发一下关于公司的HOUSE OF HELLO 关于假货网站的声明吧
HOUSE OF HELLO,致力于为新时代潮流女性提供优质时尚的手袋,公司核心价值观是:坚韧开拓市场,真诚铸就成长,行动改变命运,激情成就梦想.公司从上到下的员工,都富于激情的努力工作,以积极,主动 ...
- [BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
题目链接 : BZOJ 1085 题目分析 : 本题中可能的状态会有 (2^24) * 25 种状态,需要使用优秀的搜索方式和一些优化技巧. 我使用的是 IDA* 搜索,从小到大枚举步数,每次 DFS ...
- SIM卡基础知识
一:了解Sim卡和GSM网络登录步骤的基本知识 (一)名词解释: SIM卡(Subscriber Identity Module),即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分 ...
- 数据结构(线段树):CodeForces 85D Sum of Medians
D. Sum of Medians time limit per test 3 seconds memory limit per test 256 megabytes input standard i ...
- hihoCoder 1392 War Chess 【模拟】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)
#1392 : War Chess 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Rainbow loves to play kinds of War Chess gam ...
- datetime和timer的使用(小小幻灯片)
一:展示图片 每秒换一次图片,一共六十张图片,00-59 二:代码 a,设计代码 namespace timePicture { partial class Form1 { /// <summa ...
- Eclipse集成环境中Android SDK下载及更新失败解决方案
由于公司新项目比较忙,有好长一段时间没碰Android开发咯! 近期闲来在网上下了个开源的应用想拿来自己学习下其中的源码及整体设计,当我把下下来的项目导入Eclipse中时,报如下警告: 原因是我本地 ...
- Android中ListView分页加载数据
public class MainActivity extends Activity { private ListView listView=null; //listview的数据填充器 privat ...
- MD5加密详解
MD5加密详解 引言: 我在百度百科上查找到了关于MD5的介绍,我从中摘要一些重要信息: Message Digest Algorithm MD5(中文名为信息摘要算法第五版)为计算机安全领域广泛使用 ...
- postgresql使用文档之一 初始化数据存储区
17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...