如何将AngularJS应用和Flask带到同一个域?

时间:2016-07-18 15:28:40

标签: python angularjs flask

我在AngularJS中创建了一个Web应用程序,并在localhost:5000/上启动并运行了Flask服务器。我想创建一个登录服务,所以我在AngularJS的控制器中包含了以下代码:

$scope.login = function() {
            $http({
              method: 'POST',
              data: {
                username: $scope.username,
                password: $scope.password
              },
              url: 'http://127.0.0.1:5000/login/'
            }).then(function successCallback(response) {
                console.log('successCallback')
              }, function errorCallback(response) {
                console.log('errorCallback')
              });
}

我从UI调用login()方法。但这给了我以下错误:

XMLHttpRequest cannot load http://127.0.0.1:5000/login/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

此外,当我研究此错误时,我发现this link,其中指出我的网页与我的服务器位于不同的域中。如何将AngularJS和python服务器放在同一个域上?我必须指定哪些代码才能代替url:'http://127.0.0.1:5000/login/',我必须指定'/login'?我知道这可能是一个微不足道的问题,但请指导我。

1 个答案:

答案 0 :(得分:0)

将烧瓶代码中的app.run和您的URL全部更改为127.0.0.1,然后浏览127.0.0.1,然后它就可以了。