Ext.Ajax是Ext.data.Connection的hi一个单实例,不需要使用new或者Ext.create方法创建实例后再使用。

类的继承关系为:

Ext.Base

Ext.data.Connection

Ext.Ajax

Ext.Ajax.request({
url: 'page.php',
params: {
id: 1
},
success: function(response){
var text = response.responseText;
// process server response here
}
});
 
可以直接通过设置Ext.Ajax类的选项来配置属性:
Ext.Ajax.setTimeout(60000); // 60 seconds
 
Ext.Ajax.setTimeout(120000); // 120 seconds
Ext.Ajax.request({
url: 'page.aspx',
timeout: 60000
});
 
一般来说这个类会用于你所有的Ajax请求。
 
 
一般情况下,在配置对象中定义好了地址和回调函数就可以使用Ext.Ajax了。
Ext.Ajax有三个回调函数,分别是success,failure和callback。
 
Ext.Ajax默认是以POST方式提交的,如果要修改为GET方法,可以通过method配置项来实现,它的值可以是POST或者GET,注意全部为大写字母。
 

Ext.Aiax.request({

url:'myUrl',

method:'POST',

params:{

username:'king',

password:'king'

},

callback:function(response){

console.log(response.responseText);

}

});

请求自动地将param对象打包为form数据,是作为POST请求的一部分发送出去。

当发送一个GET请求时,许多web服务器将会缓存一个应答,并总是将这个相同的应答发送给你,虽然加快了web速度,但是并不总是想要的。

disableCaching: false,

web根据Header不同,返回不同格式的数据

下面是获得JSON数据

Ext.Aiax.request({

url:'myUrl',

method:'GET',

headers:{"Content-type":"application/json"},

params:{

username:'king',

password:'king'

},

callback:function(response){

console.log(response.responseText);

}

});

callback回调

当Ajax请求失败时,Ext.Ajax可以帮你指定所有场景下的callback回调函数

Ext.Ajax.request({

url:'myUrl',

success:function(response){

console.log('请求成功');

},

failure:function(response){

console.log('请求失败');

},

callback:function(response){

console.log('数据');

}

});

当请求成功时,success函数首先会被调用,然后是callback函数。

当请求失败时,failure函数会被调用,然后是callback函数。

不论请求成功还是失败,callback回调函数总是会执行的。

请求超时和中断

当后台服务器响应时间过长而导致请求超时时。failure函数将会被调用,该函数的传递参数request对象中,timeout的属性为true

Ext.Ajax.equest({

url:'myUrl',

failure:function(reqponse){

console.log(reqponse.timeout);

}

});

缺省情况下,timeout值为30秒,但是你可以通过timeout设置该值,该值单位是毫秒

var myRequest = Ext.Ajax.equest({

url:'myUrl',

timeout:5000,  // 5秒超时

failure:function(reqponse){

console.log(reqponse.timeout);

}

});

Ext.Ajax.abort(myRequest);

上面代码中,超时处理函数将被调用,reqponse.aborted属性将设置为true。

Ext.Ajax.request({

url:'myUrl',

failure:function(reqponse){

if(reqponse.timeout){

alert('Timeout','服务器超时');

}else if(reqponse.aborted){

alert('Aborted','请求终止');

}else{

alert('Bad','请求失败');

}

}

});

Sencha Toucha之Ext.Ajax的更多相关文章

  1. sencha touch Ext.Ajax.request 错误 Cannot call method 'request' of undefined 解决方案

    凡是Cannot call method '' of undefined 这类错误大部分都可以参照下面的办法来解决 在st中有时候你会发现使用Ext.Ajax.request会出现一下错误: Cann ...

  2. Extjs4.0以上版本 Ext.Ajax.request请求的返回问题

    Ext.Ajax.request({ url: posturl, method: 'POST', params: { ClassName: 'XXXX', FuncName: 'XXXX', para ...

  3. [转] form.getForm().submit的用法及Ext.Ajax.request的小小区别

    原文地址:http://blog.csdn.net/hongleidy5000/article/details/7329325 if (!formDetail.getForm().isValid()) ...

  4. (ExtJs 3.4)Ext.Ajax.request的同步请求实现

    ext3.0之前都是这样来提交:var responsea = Ext.lib.Ajax.getConnectionObject().conn;responsea.open("POST&qu ...

  5. [转载]ExtJs4 笔记(3) Ext.Ajax 对ajax的支持

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)     本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事 ...

  6. Ext.Ajax中scope的作用

    在Ext的前台Js中使用Ajax请求,如果想让回调函数中的this作用域跟当前的类一样如何实现呢?Ajax提供了一个参数scope. 详细代码如下: layout : { type : 'accord ...

  7. EXTJS 资料 Ext.Ajax.request 获取返回数据

    下面是一个登陆页面调用的EXTJS login function,通过 url: '/UI/HttpHandlerData/Login/Login.ashx',获取返回登陆账户和密码! Ext.onR ...

  8. Ext.Ajax.request()方法和FormPanel.getForm().submit()方法,都返回success()方法的差异

    我还是不发表到博客园首页吧,要不然还是要被取消,>_< 还是言归正传吧,关于Ext.Ajax.request()方法和FormPanel.getForm().submit()方法返回suc ...

  9. 【转】Ext.ajax.request 中的success和failure

    原文链接:Ext.ajax.request 中的success和failure Ajax request对象的success事件表示request过程中没有发生错误,和自己的业务逻辑无关, 如果访问不 ...

随机推荐

  1. 【海岛帝国系列赛】No.2 海岛帝国:“落汤鸡”市的黑帮危机

    50200210海岛帝国:“落汤鸡”市的黑帮危机 [试题描述] 近几天,犯罪分子发现“药师傅”帝国的警力约等于0.(请见YSF的海岛帝国)于是开始猖狂了起来.他们选择了依山靠水(农村?)的“落汤鸡”市 ...

  2. [转]编译Android源代码常见错误解决办法

    1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...

  3. TVideoGrabber的使用(一)捕捉摄像头

    使用TVideoGrabber捕捉摄像头,相当容易,只需几句代码即可解决问题,首先我们新建一个工程,然后从控件面板上拉取一个 TVideoGrabber控件到窗体中,然后再在窗体上放置四个Button ...

  4. mybatis 复习笔记03

    参考:http://www.mybatis.org/mybatis-3/zh/configuration.html 入门 1. 从 XML 中构建 SqlSessionFactory 每个基于 MyB ...

  5. 关于学习keynote

    下午在学习如何用keynote写出高大上的文档,看到公司内的一个妹纸洋洋洒洒的写了好多篇文章,顿时觉得自己的知识面狭窄,文科女和理科女的差别,从我嘴里半天吐不出一个富有诗情画意的词句来,那么还是脚踏实 ...

  6. 战舰的STM32的SPI的逻辑分析仪设置

  7. Reverse Linked List II

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  8. jquery+thinkphp实现跨域抓取数据的方法

    jquery的$.post发送数据到服务器后台,在由后台的PHP代码执行远程抓取,存到数据库ajax返回数据到前台,前台用JS接受数据并显示. //远程抓取获取数据$("#update_ac ...

  9. 使用phpmyadmin导入SQL数据报错:#1062 - Duplicate entry '...

    使用phpmyadmin导入SQL数据报错: MySQL 返回: #1062 - Duplicate entry '0' for key 'PRIMARY' 出现此错误的原因是数据的主键重复了,错误信 ...

  10. [C++][语言语法]标准C++中的string类的用法总结

    转自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 要想使用标准C++中string类,必须要包含 #include ...