【发布时间】:2015-06-23 15:55:05
【问题描述】:
我正在学习 MEAN 堆栈,但目前还没有开始使用 db。我试图连接堆栈的其余部分,但它会引发错误
错误:对受限 URI 的访问被拒绝 createHttpBackend
我用谷歌搜索并找不到任何解决此问题的方法。
这是我在 Angular app.js 中的主要控制器:
app.controller('MainCtrl', function($scope, $http) {
console.log("success");
$http.get('/').
success(function(data, status, headers, config) {
console.log("success");
$scope.name = data.name;
}).
error(function(data, status, headers, config) {
$scope.name = 'Error!';
})
});
我的节点服务器 app.js:
var express = require('express'),
http = require('http');
var app = express();
app.set('port', 3000);
app.get('/', function(req, res) {
var name = 'MyNameFromServer';
res.send(name);
})
http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
这是浏览器控制台中的错误(发生 Angular http.get 时):
"Error: Access to restricted URI denied
createHttpBackend/<@file:///F:/routing/js/angular.js:9902:6
sendReq@file:///F:/routing/js/angular.js:9703:0
$http/serverRequest@file:///F:/routing/js/angular.js:9415:15
请帮帮我。
这是完整的应用程序 - https://github.com/V1cHu/routing
【问题讨论】:
-
尝试使用其他网址而不是“/”
-
堆栈的哪一部分抛出了这个错误?我不知道是节点应用程序在浏览器控制台中以 bash 还是 Angular 的形式抛出它
-
角度抛出浏览器控制台。
-
@Mohit acutally 当我尝试点击链接 localhost:3000/ 时,节点控制台显示 GET 命中,但是当我使用 Angular 应用程序尝试此操作时,它根本没有命中节点服务器
-
试试
$http.get('http://localhost:3000/')而不是$http.get('/')
标签: javascript angularjs node.js express