【问题标题】:phonegap 5.2 ajax calls throwing 404 recently [duplicate]phonegap 5.2 ajax 调用最近抛出 404 [重复]
【发布时间】:2015-09-28 10:47:41
【问题描述】:

我的代码在我的本地和 phonegap 版本中运行良好,直到一周前。 现在我所有的互联网电话都开始失败了。 ajax 开始。我收到 404 响应。

我看到了下面的链接以及更多与它们相似的链接。只需添加插件和access-origin = "*" 似乎就可以解决他们的问题。 我之前也有这个插件,现在我在插件中添加了源代码和版本来尝试。

我的猜测是我的代码在这里遗漏了一些次要或基本的东西。我使用的 Phonegap 版本是 5.2

参考网址: Cordova / Phonegap All External Ajax Requests Returns 404 Phonegap Build .ajax request returning 404

清单有以下几行:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

config.xml

<access origin="*" />
<plugin name="cordova-plugin-whitelist"  source="npm" version="1.1.0" />
<allow-intent href="*" />
<allow-navigation href="*" />

ajax 调用代码:

var url_built_for_ip = "http://abc.xyz.com/whatsMyName/abc";

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
{
alert("state changed "+xmlhttp.status)
}
xmlhttp.open("GET",url_built_for_ip,true);
xmlhttp.send();

注意:当我从 phonegap 应用程序运行相同的代码时,它运行良好(ajax 调用工作正常。) 这可能看起来像一个重复的问题,但事实并非如此,因为我已经提到了为类似问题提供解决方案的其他问题,只是这些解决方案对我不起作用。

感谢您的支持!!!

【问题讨论】:

    标签: cordova phonegap-plugins phonegap-build


    【解决方案1】:

    我刚遇到这个问题,我做了一些事情来解决它,不确定是哪个解决了它。

    • cordova plugin remove cordova-plugin-whitelist
    • cordova plugin add cordova-plugin-whitelist@latest
    • cordova prepare android
    • 从安卓手机中删除了该应用
    • cordova run android --device

    现在它可以工作了。

    【讨论】:

      【解决方案2】:

      因为白名单默认会阻止外部调用

      添加这个插件,如果还没有添加的话

      https://github.com/apache/cordova-plugin-whitelist

      并将此元标记添加到您的 html 中

        <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"/>
      

      【讨论】:

        猜你喜欢
        • 2017-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 2016-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多