Ext.Ajax的基本用法
如下所示:
- var proxy = new var ds = Ext.Ajax.request({
- url: '07-01.txt',
- success: function(response) {
- Ext.Msg.alert('成功', response.responseText);
- },
- failure: function(response) {
- Ext.Msg.alert('失败', response.responseText);
- },
- params: { name: 'value' }
- });
这里调用的是Ext.Ajax的request函数,它的参数是一个JSON对象,具体如下所示。
> url参数表示将要访问的后台网址。
> success参数表示响应成功后的回调函数。
上例中我们直接从response取得返回的字符串,用Ext.Msg.alert显示出来。
> failure参数表示响应失败后的回调函数。
注意,这里的响应失败并不是指数据库操作之类的业务性失败,而是指HTTP返回404或500错误,请不要把HTTP响应错误与业务错误混淆在一起。
> params参数表示请求时发送到后台的参数,既可以使用JSON对象,也可以直接使用"name=value"形式的字符串。
Ext.Ajax直接继承自Ext.data.Connection,不同的是,它是一个单例,不需要用new创建实例,可以直接使用。
在使用Ext.data.Connection前需要先创建实例,因为Ext.data.Connection是为了给Ext.data中的各种proxy提供Ajax功能,分配不同的实例更有利于分别管理。
Ext.Ajax为用户提供了一个简易的调用接口,实际使用时,可以根据自己的需要进行选择。
Ext.lib.Ajax是更底层的封装
其实Ext.Ajax和Ext.data.Connection的内部功能实现都是依靠Ext.lib.Ajax来完成的,在Ext.lib.Ajax下面就是各种底层库的Ajax了。
如果使用Ext.lib.Ajax实现以上的功能,就需要写成下面的形式,如下面的代码所示:
- Ext.lib.Ajax.request(
- 'POST',
- '07-01txt',
- {success: function(response){
- Ext.Msg.alert('成功', response.responseText);
- },failure: function(){
- Ext.Msg.alert('失败', response.responseText);
- }},
- 'data=' + encodeURIComponent(Ext.encode({name:'value'}))
- );
我们可以看到,使用Ext.lib.Ajax时需要传递4个参数,分别为method、url、callback和params。
它们的含义与Ext.Ajax中的参数都是一一对应的,唯一没有提到过的method参数表示请求HTTP的方法,它也可以在Ext.Ajax中使用method:'POST'的方式设置。
相对于Ext.Ajax来说,Ext.lib.Ajax有如下几个缺点:
> 参数的顺序被定死了,第一个参数是method,第二个参数是url,第三个参数是回调函数callback,第四个参数是params。
这样既不容易记忆,也无法省略其中某个不需要的参数。Ext.Ajax中用JSON对象来定义参数,使用起来更灵活。
> 在params部分,Ext.lib.Ajax必须使用字符串形式,显得有些笨重。Ext.Ajax则可以在JSON对象和字符串之间随意选择,非常灵活。
比与Ext.Ajax相比,Ext.lib.Ajax的唯一优势就是它可以在EXT 1.x中使用。
如果你使用的是EXT 2.0或更高的版本,那么就放心大胆地使用Ext.Ajax吧,它会带给你更多的惊喜。
分享到:
相关推荐
NULL 博文链接:https://chun521521.iteye.com/blog/1935516
NULL 博文链接:https://linwei-211.iteye.com/blog/1567277
Ext.Ajax.request同步请求包 博文链接:https://lingf.iteye.com/blog/1195912
其中,我们可以看到Ext.Ajax可以实现动态与静态的方式提交到web服务器。从中可以看出,其实Ext框架可以非常方便的与现有网站集成。关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们...
NULL 博文链接:https://lingf.iteye.com/blog/1821225
Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理
主要介绍了ExtJs的Ext.Ajax.request实现waitMsg等待提示效果,需要的朋友可以参考下
(1)Ext.FormPanel f.getForm().submit({ url:”... }, failure:function(c,v,e){} }) (2)Ext.Ajax.request Ext.Ajax.request({ url:”….”, params:{XX:xx….}, success: function (v,c) { var json=Ext.decode(v.r
EXT是一款强大的AJAX框架 /** * 定义命名空间 */ Ext.namespace("Mis.Ext"); /* *CRUD面板基类 */ //继承EXT的Panel,创建CRUD面板 Mis.Ext.CrudPanel=Ext.extend(Ext.Panel,{……}); //限于篇幅就不列出全部代码 ...
8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data.Connection篇二 24 12. Ext.Updater篇一 26 13. Ext.Updater篇二 27 14. JSON序列化篇 33 15. 通信篇 35 ...
8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data.Connection篇二 24 12. Ext.Updater篇一 26 13. Ext.Updater篇二 27 14. JSON序列化篇 33 15. 通信篇 35 ...
NULL 博文链接:https://852428783-qq-com.iteye.com/blog/1055632
How the other parts of Ext JS aside from the GUI widgets provide many of the capabilities modern applications need, such as Ajax and data mechanisms How other technologies such as Gears can be brought...
Ext中Ajax的应用,包括JSON,XML,Update管理器、EXT调用Dwr等。
前台是jsp加上ext的框架。 后台是hibernate-annotations和spring以及dwr的组合。 顺便演示了一下用servlet来返回json数据给ext框架的方式。 <br>在grid的演示部分,包括了分页的数据调用和如何处理来自...
8. Renamed Coolite.Ext.Web Namespace to Ext.Net 9. Renamed Coolite.Utilities Namespace to Ext.Net.Utilities 10. Renamed Coolite.Ext.UX Namespace to Ext.Net.UX 11. Renamed root singleton "Ext" class...
关于ajax中ext的一个实例,ext是一个很好用的框架!