我在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'
?我知道这可能是一个微不足道的问题,但请指导我。
答案 0 :(得分:0)
将烧瓶代码中的app.run和您的URL全部更改为127.0.0.1,然后浏览127.0.0.1,然后它就可以了。