【问题标题】:http requests failing after ionic build android离子构建android后http请求失败
【发布时间】:2016-12-17 10:49:39
【问题描述】:

我已经提到https://github.com/apache/cordova-plugin-whitelist 并在下面添加到我的 config.xml:

<plugin name="cordova-plugin-whitelist" spec="~1.3.0"/>
  <access origin="*" subdomains="true"/>
  <!-- A wildcard can be used to whitelist the entire network,
     over HTTP and HTTPS.
     *NOT RECOMMENDED* -->
  <allow-navigation href="*"/>
  <allow-intent href="*"/>
  <allow-intent href="http://*/*" />
  <allow-intent href="https://*/*" />
  <allow-intent href="tel:*" />
  <allow-intent href="sms:*" />
  <allow-intent href="mailto:*" />
  <allow-intent href="geo:*" />
  <platform name="android">
      <allow-intent href="market:*" />
  </platform>

我的 AndroidManifest.xml 中也有以下权限:

<uses-permission android:name="android.permission.INTERNET" />

下面是 index.html 中的 CSP 声明:

<meta http-equiv="Content-Security-Policy" 
        content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *;script-src 'self' localhost:35729 84.254.133.91:8080 'unsafe-inline' 'unsafe-eval';connect-src *">

并且服务器正在运行@84.254.133.91:8080

这里是http post调用的代码:

var req = {
                method: 'POST',
                url: $rootScope.labels.IP + $rootScope.labels.USER_ID_CREATE_URL,

                data: {
                    userId: $scope.newUserIdCreate.username,
                    password: $scope.newUserIdCreate.password,

                }
            };

            var res = $http(req);
            res.success(function (data, status, headers, config) {
                alert("request success:" + JSON.stringify({ data: data }));

            });

            res.error(function (data, status, headers, config) {
                alert("request failed:" + JSON.stringify({ data: data }));

            });

$http 请求均未通过。我花了将近2天的时间,参考了'n'篇文章,但仍然无法破解这个问题。

此外,我添加了指向“google/facebook”的 href 链接,我可以从应用程序访问这些网站。

通过运行“ionic serve”来使用网络应用程序非常好。在 Android apk 中,没有任何请求到达服务器。

缺少什么配置?

【问题讨论】:

标签: android ionic-framework cordova-plugins


【解决方案1】:

经过几天的大量调查,问题与CORS issue with Tomcat and Android Webview相同

如上述问题的答案之一所述添加 CordovaOriginWrapper 解决了该问题。

这很棘手,离子文档从不谈论这种行为。需要使用此行为更新 Ionic 文档。

【讨论】:

  • 我的应用程序工作但升级 gradle 时无法连接并从 wordpress rest apis 调用 post 方法,请帮助我
猜你喜欢
  • 2016-06-17
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2021-01-05
相关资源
最近更新 更多