EXT ajax

转载:http://my.oschina.net/zimingforever/blog/65382

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差不多,主要是熟悉几个参数,处理好返回值。

 

 

转载于:https://www.cnblogs.com/xiepeixing/archive/2012/10/24/2736751.html

### 回答1: Ext.js提供了一个方便的类Ext.Ajax来执行异步HTTP请求,也就是AJAX请求。以下是使用Ext.Ajax的示例代码: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', // HTTP请求方法,可以是'GET'、'POST'等 params: { key1: 'value1', key2: 'value2' }, // 请求参数,可以是对象或字符串 success: function(response, options) { // 请求成功的回调函数 console.log(response.responseText); }, failure: function(response, options) { // 请求失败的回调函数 console.log(response.status); } }); ``` 在上面的代码中,我们使用Ext.Ajax.request方法发起了一个GET请求,请求的URL为'your-url',请求参数为{ key1: 'value1', key2: 'value2' }。请求成功后,会执行success回调函数,打印出响应文本;请求失败后,会执行failure回调函数,打印出响应状态码。 ### 回答2: Ext.js是一个JavaScript框架,用于构建富客户端应用程序。它提供了诸多功能和组件,其中之一就是Ajax(Asynchronous JavaScript and XML)。 通过Ext.js的Ajax组件,我们可以使用JavaScript发送HTTP请求,并获取服务器返回的数据,而无需刷新整个页面。这使得我们能够动态更新页面内容,提升用户体验。 使用Ext.js的Ajax,我们可以通过多种方式发送请求,如GET、POST、PUT等。我们可以指定请求的URL、参数和请求类型。我们还可以设置回调函数,在服务器响应后对返回数据进行处理。这样,我们可以根据服务器的响应结果,动态更新页面上的内容或执行其他操作。 此外,Ext.js的Ajax还提供了强大的错误处理机制。当请求发生错误时,我们可以通过回调函数获知,并进行相应的处理。这使得我们能够更好地处理异常情况,保证应用程序的稳定性和可靠性。 总结来说,Ext.js的Ajax功能为我们提供了一种方便、灵活和强大的方式与服务器进行数据交互。它使得我们可以在客户端页面动态获取和更新数据,提升用户体验,同时也提高了我们开发程序的效率。 ### 回答3: Ext.js 是一个用于构建富客户端应用程序的 JavaScript 框架,它提供了丰富的组件和工具来简化开发流程。其中,AJAXExt.js 中重要的特性之一。 AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,可以在不重新加载整个页面的情况下向服务器发送请求并获取响应。在 Ext.js 中,我们可以通过使用 Ext.Ajax 类来实现 AJAX 的功能。 通过 Ext.Ajax,我们可以发送 GET、POST、PUT、DELETE 等不同类型的请求,同时也可以设置请求的 URL、参数、请求头等。我们可以使用回调函数来处理服务器返回的数据。当请求成功时,可执行 success 回调函数;当请求失败时,可执行 failure 回调函数。 在 Ext.js 中,AJAX 可以帮助我们实现与后端服务器的数据交互,实现动态数据加载、表单提交、登录认证等功能。通过使用 AJAX,我们可以向服务器发送请求并处理响应,实现前端与后端的数据交互,用户体验更加流畅。 总之,Ext.js 提供的 AJAX 功能使得开发者可以更加方便地通过异步通信方式与后端服务器进行交互,减少页面加载时间,提升用户体验。同时,Ext.js 还提供了其他丰富的功能和组件,使得开发复杂的富客户端应用程序变得更加简单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值