phonegap 5.2 ajax最近打电话给404

alg*_*514 5 phonegap-plugins cordova phonegap-build

我有一个代码在我的本地和phonegap构建中运行良好,直到一周前.现在我所有的互联网电话都开始失败了.ajax开始.我得到了404的答复.

我已经看到下面的链接和更多类似于它们的链接.只是添加插件,access-origin = "*"似乎正在解决他们的问题.我之前也有插件,现在我在插件中添加了源代码和版本来尝试.

我的猜测是我遗漏了一些次要的或基本的我的代码.我使用的Phonegap构建是5.2

供参考的URL: Cordova/Phonegap所有外部Ajax请求返回404 Phonegap Build .ajax请求返回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"/>
Run Code Online (Sandbox Code Playgroud)

config.xml中

<access origin="*" />
<plugin name="cordova-plugin-whitelist"  source="npm" version="1.1.0" />
<allow-intent href="*" />
<allow-navigation href="*" />
Run Code Online (Sandbox Code Playgroud)

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();
Run Code Online (Sandbox Code Playgroud)

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

感谢您的支持 !!!

Hel*_*ate 4

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

  • cordova plugin remove cordova-plugin-whitelist
  • cordova plugin add cordova-plugin-whitelist@latest
  • cordova prepare android
  • 从 Android 手机中删除该应用程序
  • cordova run android --device

现在可以了。