Ionic Rest API调用无法在设备上运行

时间:2016-08-04 04:46:12

标签: node.js rest cordova ionic-framework

我正在使用离子框架构建我的第一个应用程序。我遇到了以下问题。我在云中托管了一个nodejs rest api。当我使用离子服务运行我的应用程序并获取一些数据时,它确实有效。但是,当我从我的设备(使用离子运行android )执行此操作时,它无法正常工作。 我已经读过一些关于cordova-plugin-whitelist的内容,但是我已经知道了它仍然没有用。

ionic.project
{
"name": "myApp",
"app_id": "",
"proxies": [
  {
    "path": "/contacts",
    "proxyUrl": "https://myapp.herokuapp.com/contacts"
  }
]
}

在config.xml中,我有两个标签:

<access origin="*"/>
<allow-navigation href="*" />

我忘了提到我尝试访问其他api https://api.chucknorris.io/jokes/random并且它没有问题。我的nodejs REST服务可能有些错误吗?

3 个答案:

答案 0 :(得分:2)

我经历了同样的问题,我尝试了所有可能性。我安装了cordova-plugin-whitelist插件。它包含config.xml中的设置,<meta>与CSP(内容安全政策)的设置,即使这样我也无法解决问题。我做了所有可能的程序,但仍然没有工作。

它适用于ionic serveionic run -l,但它无法在设备上运行。当我放弃时,我意识到当我包含其他服务器的URL时,它工作,而不是我的URL工作。我认为这在我的服务器或我的API中存在问题。

直到我看到我的常量引用URL没有http,因为正如在AngularJS中的正常编程中所做的那样,放置常量//api.example.com/,并让浏览器负责包含它。但它不会在设备上发生,所以我没有访问我的API。

我不知道你的情况是否属实,但我花了很长时间才发现并且想与你分享。

答案 1 :(得分:0)

在index.html中添加此元标记

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

答案 2 :(得分:0)

就我而言,我刚刚安装了 cordova-plugin-whitelist 插件。问题已解决。希望对您有所帮助。

快乐编码:)