Ajax 来自 cordova win-10 的 HTTP 请求

Ajax HTTP request from cordova win-10

我们在尝试使用 XHR(AngularJS $http 调用)从 Windows-10 cordova 应用访问我们的后端服务器时遇到问题。 后端服务器可用(在浏览器中使用 RESTclient 插件进行测试)。 该应用程序安装在 windows-10 台式机上,启用了 VisualStudio 2015(以查看日志)。

这是日志中的错误(抱歉是法语):

SCRIPT7002: XMLHttpRequest: Erreur réseau 0x2efd, Impossible d’effectuer l’opération à cause de l’erreur suivante 00002efd. 

我们在 index.html 文件中添加了以下元标记(我们也尝试了通配符 *):

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: http://10.148.118.68/* gap: http://10.148.118.68/* 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

这里是 config.xml 设置:

<access origin="*" /> 
    <allow-navigation href="http://*/*" />
    <allow-navigation href="https://*/*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" /> 

关于信息,我们已经在 Android 设备上成功构建并部署了应用程序,并且应用程序已到达后端。

感谢您的帮助。

we've got an issue while trying to reach our back-end server from a Windows-10 cordova app with XHR (AngularJS $http call).

这是设计使然,因为扩展不支持环回。请参考Edge Extension cannot request to localnets.

config.xml 中使用 cordova CLI 创建的默认项目设置不包括 PrivateNetwork XHR 的功能。 我们必须添加它 "manually":

<Capabilities>
  <Capability Name="privateNetworkClientServer" />
</Capabilities>