私はservicestack RESTサービスとangular.jsクライアントを持っています。Web は、RESTService とは別のポートでホストされます。
$http を使用したデータの取得は機能しますが、$resource の使用は機能しません。
REST サービスで、次のグローバル ヘッダーを設定します。
GlobalResponseHeaders =
{
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
{ "Access-Control-Allow-Headers", "X-Requested-With"}
}
angular.js で、たとえば $http を使用してメソッドを正常に読み取ることができます
$http({
method:'get',
url:address,
requesttype:'application/json'
}).success(function(data) {
$scope.ServiceStatus = data;
});
しかし、$ressource で同じアドレスを読み取っても機能しません。ファクトリのコードは次のとおりです。
myApp.factory('qaServiceStatus', function($resource){
return $resource('http://localhost:1338/api/status', {}, {
query: {method:'GET', headers: {'Content-Type': 'application/json'}, params:{}}
});
});
コントローラーでこのように使用します
$scope.RESTStatus = qaServiceStatus.get({});
私が得るエラーは次のとおりです: Origin http://localhost:7000
is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest を読み込めませんhttp://localhost/api/status
。http://localhost:7000
Access-Control-Allow-Origin でオリジンが許可されていません。
私は何を間違っていますか?
また、許可されたオリジンを正確なアドレスに変更しようとしましたが、これは役に立ちません