android - ionic POST 请求错误,net::ERR_CONNECTION_REFUSED

标签 android node.js cordova ionic-framework

我有一个 ionic 应用程序,我正在尝试在我的安卓设备上测试它。该应用程序在使用“ionic serve”在浏览器上进行测试时可以正常工作,但是当我运行“ionic run android”时,发布请求似乎没有到达服务器。我收到一个错误

'POST http://localhost:3000/login net::ERR_CONNECTION_REFUSED'

对于服务器,我使用的是 nodejs 并且具有访问控制..

app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Credentials', true);
  res.header('Access-Control-Allow-Origin', req.headers.origin);
  res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
  res.header(
    'Access-Control-Allow-Headers', 
    'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept'
  );
  if ('OPTIONS' === req.method) {
    res.status(200).end();
  } else {
    next();
  }
});

我还像这样安装了 cordova 白名单插件和 meta content-security-policy..

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

但我仍然遇到同样的错误。 我也试过使用我的 ip 而不是 localhost 并得到了这个错误。

OPTIONS http://192.168.1.66:3000/login net::ERR_CONNECTION_TIMED_OUT

我已经关注了这个话题.. net::ERR_CONNECTION_REFUSED ionic 建议我通过安装 microsoft.aspnet.webapi.cors 启用 CORS。我点击了此链接 https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Cors现在我完全迷路了。请帮忙,我已经处理了 3 天了。 我感谢你的帮助。谢谢。

最佳答案

当您尝试从设备连接到 localhost 时,您会收到 CONNECTION_REFUSED,这是有道理的 - 因为服务器进程未在设备上运行 - 它正在您的机器上运行。

第二个示例正确,因为您正在尝试从设备连接到您的机器 - 但我们看到一个不同错误:连接超时

这实际上是由于您的本地防火墙;默认情况下,您将允许从本地主机连接到该端口 - 但我们需要做一些魔术来允许来自世界各地的数据包与该服务对话。

您是否在 *nix 上运行服务器进程?还是 Windows?

对于*nix

# Using firewalld (advanced wrapper around iptables)
firewall-cmd --zone=public --add-port=tcp/3000 --permanent
firewall-cmd --reload

# Using bare iptables
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

对于 Windows

打开防火墙配置,在入站规则下找到您正在运行的服务器进程的列表。

双击该条目以打开属性窗口 - 在这里单击“允许连接”和“应用”。

从设备

再次尝试连接到您计算机上的服务器进程。

关于android - ionic POST 请求错误,net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129604/

相关文章:

android - 下载phonegap中的资源包

android - 为什么在重新创建 Activity 时不会在 viewpager 中重新创建 fragment ?

android - 自动短信应用程序崩溃

android - 什么时候以及为什么要使用一组 Executor

json - 如何使用 swagger-node 生成/使用 XML

javascript - 配置模拟客户端

android - 将 ion-nav-bar 的选项卡标题更改为图像 - ionic framework

android - 在 Android Studio 上,检查 "Unused resources"不适用于我项目中的所有模块

javascript - console.log 中的 %j 说明符不包括某些属性

android - 在 Android 上使用 Cordova 将文件写入外部(虚拟)存储