extJs 2.1学习笔记(Ext.data.Connection篇二)
来源:互联网 发布:政务数据开放目录 编辑:程序博客网 时间:2024/05/16 16:01
一、Ext.data.Connection是否有依赖的模块
有。它建立在一个适配器类:Ext.lib.Ajax的基础之上,有人看了Ext.js的代码,发现,Ext貌似没有什么底层适配器,事实上,是有的,Ext.lib.Ajax提供了对XMLHttpRequest对象的底层的封装(我直接用ext-base.js)。
二、在options中哪些东西会被编码到url后面
params、extraParams、form。
三、url参数与jsonData、xmlData的关系
这是个非常重大的问题,且见Connection的代码:
if((method == 'GET' || o.xmlData || o.jsonData) && p){
url += (url.indexOf('?') != -1 ? '&' : '?') + p;
p = '';
}
看这三行代码,觉得实在讲不清啦。但是,至少一件事是明白的:如果定义了xmlData、jsonData,且又定义了params/extraParams/form,那么并不会造成参数无用。还是照样传过去了的。
至于xmlData与jsonData的优先级关系,这个要看Ext.lib.Ajax的源码了。源码如下:
if(options.xmlData){
if (!hs || !hs['Content-Type']){
this.initHeader('Content-Type', 'text/xml', false);
}
method = (method ? method : (options.method ? options.method : 'POST'));
data = options.xmlData;
}else if(options.jsonData){
if (!hs || !hs['Content-Type']){
this.initHeader('Content-Type', 'application/json', false);
}
method = (method ? method : (options.method ? options.method : 'POST'));
data = typeof options.jsonData == 'object' ? Ext.encode(options.jsonData) : options.jsonData;
}
可见,如果同时定义了xmlData和jsonData,那么将按发送xmlData中的数据,jsonData中的数据被忽略。
四、那个disableCaching倒底有什么鸟用?
貌似是否使用缓存的意思?文档让人郁闷,且见代码:
if(method == 'GET' && (this.disableCaching && o.disableCaching !== false) || o.disableCaching === true){
url += (url.indexOf('?') != -1 ? '&' : '?') + '_dc=' + (new Date().getTime());
}
原来是加个时间参数。拜托了。搞得我们一头的雾水啊。
至此,关于Ext.data.Connection的相关问题都差不多扫清,它的使用例子,前面的“通信篇”中有代码。可以参见。
- extJs 2.1学习笔记(Ext.data.Connection篇二)
- extJs 2.1学习笔记(Ext.data.Connection篇二)
- extJs 2.1学习笔记(Ext.data.Connection篇一)
- extJs 2.1学习笔记(Ext.data.Connection篇一)
- extJs 2.1学习笔记(Ext.data.JsonReader篇二)
- extJs 2.1学习笔记(Ext.data.JsonReader篇二)
- extJs 2.1学习笔记(Ext.data.JsonReader篇二)
- extJs 2.1 学习笔记(Ext.data.HttpProxy篇)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.data.Store篇)
- extJs 2.1 学习笔记(Ext.data.HttpProxy篇)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.data.Store篇)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.Updater篇二)
- extJs 2.1学习笔记(Ext.Updater篇二)
- extJs 2.0学习笔记(Ext.data序论篇)
- extJs 2.0学习笔记(Ext.data序论篇)
- extJs 2.0学习笔记(Ajax篇)
- detours 通过修改输入表注入DLL -- UpdateImports 函数的分析
- extJs 2.1学习笔记(通信篇)
- extJs 2.1学习笔记(JSON序列化篇)
- extJs 2.1学习笔记(Ext.data.Connection篇一)
- extJs 2.1学习笔记(Ext.data.Connection篇二)
- extJs 2.1学习笔记(Ext.Updater篇一)
- extJs 2.1学习笔记(Ext.Updater篇二)
- 目前我们面临的危机
- extJs 2.1 学习笔记(Ext.data.HttpProxy篇)
- extJs 2.1学习笔记(Ext.data.JsonReader篇一)
- extJs 2.1学习笔记(Ext.data.JsonReader篇二)
- extJs 2.1学习笔记(Ext.data.Store篇)
- extJs 2.1学习笔记(Function扩展篇)