Javascript 节点JS web服务上的角度-获取http://127.0.0.1 网络::错误连接被拒绝
我正在使用AngularJS开发网站,并将其托管在NodeJS(Express JS)web服务中。AngularJS使用NodeJ服务的某些端点上的数据。换句话说,NodeJS具有端点,这些端点服务于AngularJS网页并提供所需的数据 在我的虚拟机(web服务)上托管网页之前,我使用我的主机托管它。然后,该网页尝试将数据请求到我的虚拟机的端点,但效果良好 然而,当我在虚拟机(web服务)上托管它并更改为在本地主机()上请求数据时,我现在得到的是Javascript 节点JS web服务上的角度-获取http://127.0.0.1 网络::错误连接被拒绝,javascript,node.js,angularjs,express,Javascript,Node.js,Angularjs,Express,我正在使用AngularJS开发网站,并将其托管在NodeJS(Express JS)web服务中。AngularJS使用NodeJ服务的某些端点上的数据。换句话说,NodeJS具有端点,这些端点服务于AngularJS网页并提供所需的数据 在我的虚拟机(web服务)上托管网页之前,我使用我的主机托管它。然后,该网页尝试将数据请求到我的虚拟机的端点,但效果良好 然而,当我在虚拟机(web服务)上托管它并更改为在本地主机()上请求数据时,我现在得到的是GEThttp://127.0.0.1:300
GEThttp://127.0.0.1:3000/data 网络::错误连接被拒绝
错误
我尝试过的
首先,我认为这是因为跨源资源共享而发生的,所以我通过添加以下代码行(取自):
然而,这仍然毫无帮助。我仍然收到相同的错误消息
后来,我想可能是我的防火墙阻止了访问。然后我关闭了防火墙,它仍然无法解决我的问题
我相信这是因为我的网页试图访问本地主机API上的端点,这应该在我第一次尝试时通过CORS处理来克服
如果不是CORS,究竟是什么导致了这种情况?我如何克服这个问题?任何帮助都将不胜感激
更新:节点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证明使用本地主机IP是错误的。这可能是因为JavaScript被发送到客户端,浏览器随后解释localhost是客户端的localhost。因此,将本地主机更改为我的实际IP地址解决了我的问题 你能通过GitHub或类似的网站分享代码吗?我们可以在那里查看。上面提到的代码不足以分析您试图提供的服务以及您如何提供服务。@Jeet-Sure,我将把我的angular上传到github,并在这里更新我的node js路由代码,因为我的node js文件很大。如果你想确认问题是由于core引起的,请在你的浏览器中安装此扩展,这样将允许cors和第二件事,如果你想在express中为你的angular项目提供服务器,你需要先让它像“ng build--production”。您将获得“dist”文件夹。将该文件夹放在express公共文件中或将这些文件作为静态资源提供。如果您共享服务器文件,这将帮助我向您展示确切的解决方案。//从根路径应用程序提供角度前端文件。使用('/',express.static('dist',{redirect:false}));//将虚拟URL重写到angular应用程序,以允许刷新内部页面app.get('*',function(req,res,next){res.sendFile(path.resolve('dist/index.html');});app.listen(3000,function(req,res)噢,天哪,只要提到urlGood中的端口就可以了,这就是我告诉你查看ip的原因
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+'/');
});