2016-12-21 2 views
0

Ich baue Hybrid-App mit angularjs und ich versuche, den Dienst von externer Quelle anzurufen. aber wenn ich einen Anruf mit url ich bin immer FehlerDaten konnten nicht von Remote-JSON geladen werden

XMLHttpRequest cannot load https:XXXX/xxx.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. 

hier ist mein Code

app.controller('overview', function($scope, $http) { 
    $http({ 
     method : "GET", 
     url : "https://ysaf.XXXX.yourcxxxxx/resource.json" 
    }).then(function appSucces(response) { 
     $scope.resources = response.data; 
    }, function appError(response) { 
     $scope.resources = response.statusText; 
    }); 
}); 

wenn ich rufen Sie die lokale .json Datei ich keine Störung erhalte aber nur, wenn ich rufe die externe API, ich bekomme diesen Fehler.

Gibt es irgendetwas, was ich in diesem Code falsch mache?

+0

müssen Sie Änderungen am Dienstcode vornehmen, um Anfragen querverlaufsübergreifend zu ermöglichen. Wenn das nicht möglich ist, können Sie den Dienst von Ihrem eigenen Server aus aufrufen (der keine Kreuzursprungsprobleme haben würde) und dann den JSON von Ihrem Server aus auf Ihrem Server – gaurav5430

+0

bedienen. Dies sollte auf der Serverseite gehandhabt werden, aber Sie könnten dies versuchen http://stackoverflow.com/a/33662315/5621827 auf Ihrer Seite – jitender

+1

Mögliches Duplikat von [Wie funktioniert Access-Control-Allow-Origin-Header?] (http://stackoverflow.com/questions/10636611/how- does-access-control-allow-origin-header-work) –

Antwort

0

Access-Control-Allow-Origin ist auf die Antwort vom Server gesetzt, dies ist nicht auf Client-Anfrage, um Clients von verschiedenen Ursprüngen Zugriff auf die Antwort zu ermöglichen.

In diesem Fall ermöglicht https://ysaf.XXXX.yourcxxxxx/resource.json Ihrem Ursprung keinen Zugriff auf die Antwort. Deshalb kannst du es nicht lesen.

Verwandte Themen