2016-07-18 11 views
0

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'を指定するだけでよいので、どのコードを指定する必要がありますか?私はこれが些細な質問かもしれないことを知っているが、私を案内してください。

+0

'http:// localhost:5000 /'ではなく 'http://127.0.0.1:5000 /'からあなたのアプリにアクセスしようとしましたか?どちらも同じ場所につながりますが、ブラウザの観点からは別のドメインです。 –

+0

はい、リンクを開いたときにブラウザで同じ出力を行い、Angular $ httpメソッドを使用してポストコールを作成したときと同じエラーを試しました –

答えて

0

フレンチコードとあなたのURLをすべて127.0.0.1に変更し、次に127.0.0.1をブラウズすると、それが動作します。

関連する問題