大家,我是阿鸵,介个是我发第一篇原创作文。废话不多说……
大家有没有设想过这样的一个Ajax请求,有一个数据,他里面呢,有一些数据可以指向其他数据,但你只需要一个函数就完成数据请求,把多个指向整合成为一个数据,介个样子你就可以直接只用,那不是很好,吼吼~~
真巧,我就基于这样的一个想法,写了这么一个东东,下面简单描述一下:
源数据是以下三个js文件(压缩文件里面也有):
data0.js:{"id":1,"code":'0x00','data1':"Ajax:data1.js"}
data1.js: {'data1':'this is data1','data2':'Ajax:data2.js'}
data2.js: {'data2':'this is data2'}
通过Ajax请求的结果为:{"id":1,"code":"0x00","data1":{"data1":"this is data1","data2":{"data2":"this is data2"}}}
这是基于Ext.Ajax实现的一个Ajax请求的一个拓展,实际上对于异步请求,请求的数据是可以满足下面的数据格式的:
data0.js:{"id":1,"code":'0x00','data1':Ajax('data1.js')}
data1.js: {'data1':'this is data1','data2':Ajax('data2.js')}
data2.js: {'data2':'this is data2'}
返回结果依然是:{"id":1,"code":"0x00","data1":{"data1":"this is data1","data2":{"data2":"this is data2"}}} ^_^
但是可能因为在调用eval函数的时候,在同步请求模式下,不能取不到正确的值,所以还是用'Ajax:data2.js',这个方式稍微妥当一点。
因为Ext的Ajax请求事件不能从中截断,加上对Ext中的事件机制不是很了解,因此这个Ajax函数和Ext的融合不是很好,事件机制是自己建立的。 (事实上,虽然Ext的Ajax请求过程中的事件不能截断,但也不是非要自己搞一个事件机制去做这样的拓展,可以把传入的success和failure的处理函数移除,待所有请求全部结束,再把success和failure的处理函数加进去,调用fireEvent,触发相应操作动作。)
欢迎大家指正!(*^_^*)
接着,我就开始贴代码了!别怪我,因为我没找到在什么地方上传文件事实上我