AngularJSでWebアプリケーションを作成し、Flaskサーバーを作成してlocalhost:5000/
で実行しました。私は、ログインサービスを作りたかったので、私はAngularJSの私のコントローラで次のコードが含まれていました。AngularJSアプリとFlaskを同じドメインに持ち込む方法は?
$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'
を指定するだけでよいので、どのコードを指定する必要がありますか?私はこれが些細な質問かもしれないことを知っているが、私を案内してください。
'http:// localhost:5000 /'ではなく 'http://127.0.0.1:5000 /'からあなたのアプリにアクセスしようとしましたか?どちらも同じ場所につながりますが、ブラウザの観点からは別のドメインです。 –
はい、リンクを開いたときにブラウザで同じ出力を行い、Angular $ httpメソッドを使用してポストコールを作成したときと同じエラーを試しました –