我有一个node.js服务器在端口8000上提供AngularJS应用程序,一个Python服务器在端口80上通过HTTP公开数据作为JSON。
在我的浏览器http://localhost:8000/app/List.html
中加载呈现blank page。为什么呢?
function FooListCtrl($scope, $http) {
$http.get('localhost/foo/list').success(function (data) {
$scope.foo_lists = data;
});
}
FooListCtrl.$inject = ['$scope', '$http'];
<!doctype html>
<html lang="en" ng-app>
<head>
<meta charset="utf-8">
<script src="lib/angular/angular.js"></script>
<script src="js/controllers.js"></script>
</head>
<body ng-controller="FooListCtrl">
<code>{{foo_lists | json}}</code>
</body>
</html>
HTTP/1.0 200 OK
Date: Wed, 15 May 2013 18:28:49 GMT
Server: WSGIServer/0.1 Python/2.7.4
Content-Length: 30
Content-Type: application/json
{"Foo": ["bar", "can", "haz"]}
答案 0 :(得分:1)
正如其他人所提到的,这个问题最有可能是一个跨领域的问题。它不仅仅是关于使用相同的域,还有相同的端口。要绕过此问题,您可以use JSONP,这是为此目的而设计的非常简单的解决方案,或者使用Cross Site Request Forgery (XSRF) Protection,它使用Cookie验证和其他措施来确保安全性,同时提供get和post功能(这不是最简单的解决方案。)