加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读