离子angularjs找不到http POST 404

时间:2017-02-19 09:18:36

标签: angularjs node.js cordova ionic-framework

我正在使用离子2.2.1和angularjs 1.6.1。我的后端使用node.js 6.9.2和koajs

我使用离子1创建了我的项目 离子启动myproject sidemenu

在调用我的API网址时,我一直找不到POST 404

我已经做了以下

安装cordova白名单 的 https://github.com/apache/cordova-plugin-whitelist

后端node.js

import Koa from 'koa';
const app = new Koa();
const koaBody = require('koa-body')();
const cors = require('kcors');
app.use(cors());

router.post('/loginUser', koaBody, async function (ctx, next) {

   console.log("loginUser");

   ctx.body = 'Cool POST';

});

router.get('/', koaBody, async function (ctx, next) {

   ctx.body = 'Hello GET';

});

index.html(在index.html中添加或删除以下行也一样,并且根本没有帮助)

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' * data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *; frame-src 'self' https://cordova.apache.org">

如果直接将API网址(http://www.yourkeyhere.com:7272/)粘贴到浏览器中,我得到了正确的回复。因此,这不是服务器方面的问题。

POST总是404

      $http({
           method: 'POST',
           url: 'http://www.yourkeyhere.com:7272/loginUser'
      }).then(function successCallback(response) {

      }, function errorCallback(response) {

      });  

GET ok

      $http({
           method: 'GET',
           url: 'http://www.yourkeyhere.com:7272/'
      }).then(function successCallback(response) {

      }, function errorCallback(response) {

      });

我在Chrome浏览器(离子服务)和iPhone(离子运行ios --device --consolelogs --serverlogs )中进行了测试

指向localhost服务器时,此问题不存在

我一直在搜索google和SO,但所有的解决方案根本不起作用。

0 个答案:

没有答案