Ext 2.2-2.3 Ext.ajax.request 同步请求的实现
发布时间:2020-12-15 20:57:05 所属栏目:百科 来源:网络整理
导读:根据不同的应用场景 ,有时会用到 ajax的不同请求 原理说明:创建XMLHttpRequest 的对象 XMLHttpRequest 对象open(method,url,async) 方法中有3个参数 分别为 请求的类型,请求地址,异步或同步 Ext 2.2-2.3的源码中 Ext.ajax.request 最终调用 Ext.lib.Ajax
根据不同的应用场景 ,有时会用到 ajax的不同请求 原理说明:创建XMLHttpRequest 的对象 XMLHttpRequest 对象open(method,url,async) 方法中有3个参数 分别为 请求的类型,请求地址,异步或同步 Ext 2.2-2.3的源码中 Ext.ajax.request 最终调用 Ext.lib.Ajax.request(method,cb,p,o) Exl.lib.Ajax 位于 ext-base.js 其中源码的最后一句为 return this.asyncRequest(method,data) 这是一个异步请求:o.conn.open(method,true) 由于Ext2.2-2.3没有提供同步请求的方法 所以需要扩展Ext.lib.Ajax 例: 对于同步请求 url 和syns是必须的 其他可以省略 如果标记为 同步请求 将不再调用this.handleReadyState(o,callback);不进行判断和回调函数的处理 因此 例子如下 var cb={ success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{ options:o },timeout:o.timeout==0?o.timeout:o.timeout||this.timeout }; 调用实例: var o=Ext.Ajax.request{ url:'xx.actiom',params:pram,method:'post',sync:true//标记为同步 不标记 默认为异步需要按异步方式写success函数 } if(!o){ return false; } var result =Ext.decode(o.conn.responseText);(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |