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

extjs – Ext.Ajax.request()在成功请求时调用失败回调函数

发布时间:2020-12-16 02:54:16 所属栏目:百科 来源:网络整理
导读:我正在为iOS和 Android平台构建PhoneGap – Sencha-touch应用程序.我正在使用Ext.Ajax.request()函数加载本地.js文件. 有趣的事情发生 – 请求成功,但调用’失败’回调. 这是代码: Ext.Ajax.request({ url: 'localfolder/foo.js',success : function(xhr){
我正在为iOS和 Android平台构建PhoneGap – Sencha-touch应用程序.我正在使用Ext.Ajax.request()函数加载本地.js文件.

有趣的事情发生 – 请求成功,但调用’失败’回调.
这是代码:

Ext.Ajax.request({
       url: 'localfolder/foo.js',success : function(xhr){
           // not invoked
       },failure : function(response,options){ 
           // response.status == 0
           // wtf,response.responseText contains exactly the contents of the local .js file!
       }
   });

任何人都知道为什么在事实上请求成功时会触发“失败”回调?
[编辑]
更重要的是,如何触发“成功”回调呢?

解决方法

Ext.Ajax只是检查它创建的底层XHR(XmlHttpRequest)对象的状态代码.但是,它(错误地)假定状态是HTTP状态.正如此 Mozilla-provided article讨论的那样,当使用file:或ftp:scheme时,状态值为0表示成功.

您可以修改Ext.data.Connection中的onComplete函数(在src / data / Connection.js中)以查看URL的方案,并确定它是应该使用基于HTTP的状态还是“0 = OK”状态确定成功.

拥有可供客户使用的机构非成功结果是完全合法的.这就是您的response.responseText仍然正确显示的原因.

(编辑:李大同)

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

    推荐文章
      热点阅读