2017-10-30 6 views
0

私はAngularで新しく、いくつかの基本的なUIを手に入れようとしています。私はRESTfulなSpringサービスを稼働させています。私は私のサービスをカールする場合:

curl http://myPersonalSite.com:1313/service/event?id=1 

を私は同じコードを使用したなどの「ID」、「説明」、 を含むものを含むJSONレスポンスを得るが、一例で与えられたいずれかのURLを切り替えます私は次のとおりです

curl http://rest-service.guides.spring.io/greeting 

また、 "id"と "content"のJSON応答も得られます。私は

spring run app.groovy 

を実行したときに IDの例のURL結果が現れて...しかし、私は私のサービスのURLのためにそれを切り替えたときに、IDが表示されません。私のサービスからのJSON応答の情報を得ることはできないようです。私はここで何が欠けているのですか?

/public/index.html:

<html ng-app="demo"> 
<head> 
    <title>Hello AngularJS</title> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script> 
    <script src="hello.js"></script> 
</head> 
<body> 
    <div ng-controller="Hello"> 
     <p>The ID is {{event.id}}</p> 
    </div> 
</body> 

/public/hello.js:

angular.module('demo', []) .controller('Hello', function($scope, $http) { $http.get('http://rest-service.guides.spring.io/greeting'). // this works //$http.get('http://myPersonalSite.com:1313/service/event?id=1'). // this doesn't work then(function(response) { $scope.event = response.data; }); });

app.groovy - 単に:

@Controller class JsApp { }

...その後、spring run app.groovyを実行し、ブラウザの例でURLをレンダリングしてもURLは表示されますが、IDはありません。もう一度、両方のURLのカールは、両方とも "id"キーを含むJSONを返します。私はJSON文字列とオブジェクトについて少し読んだことがありますが、それは問題ではないようです。どんな助けでも大歓迎です。

ノート - 次のスレッドが似ていますが、わずかに異なるjQuery - .get works for 1 URL but not another

答えて

0

私はあなたの要求がCORSポリシーによってブロックされていると思います。 「... CORSポリシーによってブロックされました:いいえ 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在します」などのエラーメッセージがある場合は、ブラウザコンソールを確認できます。

Chromeのネットワークタブを確認した場合、Rest-Serviceレスポンスは実際にAccess-Control-Allow-Originを設定します。

ブラウザは、要求されたリソースのドメインがページドメインと異なり、適切なAccess-Control-Allow-Originヘッダーがサーバー側で設定されていない場合、ajax要求をブロックします。

関連する問題