2017-09-09 5 views
-2

私はSpring BootでAPIを実行しており、AngularJSのhttp呼び出しを使用してデータにアクセスしたいと考えています。しかしそれは私にエラーを与えていますAngularJSからSpring-Boot APIを呼び出す

XMLHttpRequestはhttp://localhost:9000/transaction-service/transaction/query?id=800103209000150247301466600013をロードできません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。 Origin 'http://localhost:3000'はアクセスできません。

ヘッダーと関係がありますが、どのように行うのかわかりません。

+0

私はこの質問をする前に答えたと思います:https://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-オンリソースリソース –

+0

私はその答えを知っている..しかし私は私のアプリケーションでそれを行うことを知っていない –

答えて

1

anglejsでこれを処理するために、同じ発信元ポリシーの制限に違反しました。 JSON with padding(JSONP)とクロスオリジンリソース共有(CORS)ヘッダーの2つのソリューションがあります。

サンプルJSONPリクエストとレスポンスを調べて、実際の動作を確認しましょう。まず、JSONPリクエストを呼び出す必要があります。

$http 
    .jsonp('http://angularjs.org/greet.php?callback=JSON_CALLBACK', { 
    params:{ 
     name:'World' 
    } 
    }).success(function (data) { 
    $scope.greeting = data; 
    }); 

または、ドメイン間のリソース共有を許可するように適切なCORSヘッダーを設定します。あなたは、Apacheを使用している場合:

your .htaccess fileに次のように置く:あなたがApacheを設定するためのアクセス権を持っていない場合

Header set Access-Control-Allow-Origin "*" 

を、あなたはまだPHPスクリプトからヘッダを送信することができます。これは、添加した場合ですfollowing to your PHP scripts

<?php 
header("Access-Control-Allow-Origin: *"); 
関連する問題