【问题标题】:Ajax request failing in cordova/phonegap app on real deviceAjax 请求在真实设备上的 cordova/phonegap 应用程序中失败
【发布时间】:2014-11-19 21:52:05
【问题描述】:

我正在构建一个 Cordova 4.0 jQuery Mobile 1.4.2 Android 应用程序,但我遇到了与特定 AJAX 调用有关的问题。我一直在寻找类似的问题,并且已经在那里实施了解决方案,但没有成功。

会发生什么:

我有以下 AJAX 调用:

var request = $.ajax({
        type: "GET" ,
        crossDomain: true,
        url: 'http://pubads.g.doubleclick.net/gampad/adx?iu=/XXX/YYY&sz=300x50&c=123456789'
    });

    request.done(function (response, textStatus, jqXHR){

        console.log(response);
    });

    request.fail(function (jqXHR, textStatus, errorThrown){
        console.error("DFP Plugin Error: " + textStatus, errorThrown);
    });

当我在计算机的浏览器中运行我的应用程序时,该请求运行良好。但是,当我从 真实设备 构建和调试应用程序时,请求失败并出现以下错误:{"readyState":0, "responseText":"", "status":0, "statusText":"error"}

我已经启用了$.support.cors = true;$.mobile.allowCrossDomainPages = true;,并且我的config.xml 文件中已经有了<access origin="*" />)

谁能帮我找出问题所在?

【问题讨论】:

  • 服务器端出错。
  • @HanhLe 不确定,如果是这种情况,它在任何一种情况下都不起作用,但它可以在桌面浏览器中工作......
  • 你能告诉我们你的控制台输出吗?使用它来获取控制台输出:stackoverflow.com/a/27044611/3499115

标签: jquery ajax jquery-mobile cordova double-click


【解决方案1】:

嗯,这不是我所期待的那种答案,但这是我为解决这个问题所做的:创建一个全新的 Cordova 4.0 项目并将 www 文件夹从另一个项目复制到那里。然后像往常一样在 Eclipse 中构建和运行,一切正常无需更改项目中任何地方的一行代码

我意识到问题不在代码中,因为我注意到我在应用程序中进行的其他 AJAX 调用(并且曾经正常工作)也失败了。

所以我不知道这是否是一些 Cordova 4.0 错误或什么,但在某些时候 AJAX 停止工作。我发布这个以防有人遇到同样的问题。

【讨论】:

  • 这里有同样的问题......生病了。 ://
  • 这也发生在我身上。但是在谷歌搜索“cordova ajax call not work”之后,我从设备和模拟器中卸载了我的应用程序,擦除模拟器,删除模拟器并创建一个新的,哦,当然,摆弄我的 dns 服务器设置,因为我来自 dnsmasq 的电话是有点好笑。
【解决方案2】:

就我而言,我是从 cordova 3.7 升级到 cordova 5 这是为我解决的问题:添加插件 cordova-plugin-whitelist

【讨论】:

【解决方案3】:

由于 android Ajax 请求的新内容安全策略被阻止。

尝试关注,看看是否有效。

打开你的 config.xml

替换

<access origin="*" />

<access origin="http://*" />
<access origin="https://*" />

准备 phonegap 项目并再次构建它并在真实设备上检查。

问候, 贾加特

【讨论】:

    【解决方案4】:

    原来我只是缺少以下插件:

    cordova-plugin-whitelist

    我安装完后,把android平台去掉,重新添加android平台,编译运行,就成功了!

    【讨论】:

      猜你喜欢
      • 2013-09-16
      • 2022-08-19
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多