未找到未捕获的模块 xhr cordova-1.5.0.js

Posted

技术标签:

【中文标题】未找到未捕获的模块 xhr cordova-1.5.0.js【英文标题】:Uncaught module xhr not found cordova-1.5.0.js 【发布时间】:2012-03-28 00:00:25 【问题描述】:

我正在使用 phonegap cordova-1.5.0.js 和 jar。 并使用带有 jsOAtuh.1.3.3.js 的 cordova 的 phonegap-plugins

我收到错误消息: “在文件中找不到未捕获的模块 xhr:///android_asset/www/cordova-1.5.0.js”

每当我尝试创建 OAuth 对象时。

我有以下参考: https://github.com/bytespider/jsoauth 这是我的代码。



    var config_google=
        var config_google=
        consumerKey: "removed",
        consumerSecret: "removed",
        requestTokenUrl: "https://www.google.com/accounts/OAuthGetRequestToken?scope=removed",
        authorizationUrl:"https://www.google.com/accounts/OAuthAuthorizeToken",
        accessTokenUrl:"https://www.google.com/accounts/OAuthGetAccessToken"
    ;

    function authservice(service)
        //alert(service);
        curfunc = "authservice";
        str_service = service;
        if (service === 'google')
            oauth = new OAuth(config_google);
        else if....

    ........
    

我之前将该代码与 phonegap-1.4.1.js(以前的版本)一起使用,它可以工作。我在 1.4.1 和 1.5.0 上都搜索了 xhr,它们都没有 xhr,但有一些评论参考。不完全确定为什么更改 1.5.0 并且它将禁用代码。我需要使用 1.5.0 是因为我需要使用 childbrowser 插件。

你能指出我正确的方向吗?

提前致谢。

【问题讨论】:

【参考方案1】:

我有一个 hack 让它工作。第 802 行的 require("xhr") 认为有人在某处注册了它,但在记录它时,我没有看到有人调用 Cordova 的“define”函数来注册它。

所以,如果你注释掉这 3 行代码,这是一种让它像这样回退到 XMLHttpRequest 的快速方法(在 Request 构造函数中的第 800 行左右):

if (typeof global.Titanium !== 'undefined' && typeof global.Titanium.Network.createHTTPClient != 'undefined') 
    XHR = global.Titanium.Network.createHTTPClient();
// else if (typeof require !== 'undefined') 
//    // CommonJS require
//    XHR = new require("xhr").XMLHttpRequest();
 else 
// W3C
    XHR = new global.XMLHttpRequest();

【讨论】:

谢谢 JesterXL 和 Rob G. jsOAuth 的原作者。你们摇滚。 :) 感谢您解决我的问题。

以上是关于未找到未捕获的模块 xhr cordova-1.5.0.js的主要内容,如果未能解决你的问题,请参考以下文章

(SystemJS) XHR 错误@angular/commobundles/common.umd.js/http 未找到

未捕获的语法错误:请求的模块未提供名为的导出

使用 Chrome + XHR 时未定义 PHP POST 变量

使用 es6 模块:未捕获的 ReferenceError:未定义定义

自定义模块:未捕获类型错误:未定义不是函数

致命错误:未捕获的错误:未找到“Omnipay\Omnipay”类