javascript - Node JS Web 服务上的 Angular - GET http://127.0.0.1 net::ERR_CONNECTION_REFUSED

标签 javascript node.js angularjs express

我正在使用 AngularJS 开发网站,并将其托管在 NodeJS (Express JS) Web 服务中。 AngularJS 使用 NodeJS 提供的某些端点上的数据。换句话说,NodeJS 具有为 AngularJS 网页提供服务并提供所需数据的端点。

在我的虚拟机(Web 服务)上托管网页之前,我使用我的主机来托管它。然后,该网页尝试向我的虚拟机端点请求数据,并且工作正常。

但是,当我将其托管在虚拟机(Web 服务)上并更改为在本地主机 ( http://127.0.0.1:3000/data ) 上请求数据时,我现在得到 GET http://127.0.0.1:3000/data net::ERR_CONNECTION_REFUSED 错误。

我尝试过的

首先,我认为这是由于跨源资源共享而发生的,因此我通过添加这些代码行(取自 this site )在我的 NodeJS 中启用它:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

但是,这仍然没有任何帮助。我仍然收到相同的错误消息。

后来我想可能是我的防火墙阻止了访问。然后我关闭了防火墙,但它仍然无法解决我的问题。

我相信发生这种情况是因为我的网页尝试访问其本地主机 API 上的端点,这应该在我第一次尝试时通过 CORS 处理来克服。

如果不是 CORS,那么到底是什么原因导致的?我该如何克服这个问题?任何帮助将不胜感激。

更新:Node JS 路由代码

var express = require('express');
var app =express();
app.use(express.static(path.join(__dirname, 'public')));

app.get('/admin/login/:user/:pass', function(appReq,appRes){
    appRes.status(200).send('1');
    appRes.end();
});

app.get('/*', function(appReq, appRes){
    fs.readFile('./public/index.html', function(err,data){
        if (err) {
            appRes.writeHead(500);
            appRes.end('Error loading html');
        }
        else {
            appRes.writeHead(200);
            appRes.end(data);
        }
    });
});

app.listen(port, function(){
    console.log('express app listening at http://'+hostname+":"+port+'/');
});

这是我的 AngularJS GitHub repo

最佳答案

事实证明使用本地主机IP是错误的。这可能是由于 JavaScript 被发送到客户端,然后浏览器将 localhost 解释为客户端的 localhost。因此,将 localhost 更改为我的实际 IP 地址解决了我的问题。

关于javascript - Node JS Web 服务上的 Angular - GET http://127.0.0.1 net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928470/

相关文章:

node.js - Mongoose 使用子文档中的默认值覆盖 MongoDB 中的数据

javascript - 范围值不反射(reflect)在 View 中

javascript - 控制不进入 divobject.children().on( {'mousedown' ...});

php - Javascript Jquery 代码第一次可以工作,下次就不行了

javascript - 当 Angular 6 出现任何错误时如何显示错误分量?

javascript - Angular js等待服务调用返回

javascript - 选择仪表板技术——extjs、flex、angularjs 等

javascript - 如何在脚本中附加 ?v=1 加载新的 javascript

node.js - 如何将自定义连接器集成到 Botium Box

node.js - TeamCity + Node.JS 持续部署