私はAPIを呼び出すときに問題が直面しているので、最初にアーキテクチャについて説明しましょう。以下のようなドメインでホストされている角度1.5、エラー時の応答ステータスは常に-1
全体のフォントエンドアプリケーションOSのAngularJSベース1.5、: app1.mydomain.com、app2.mydomain.com、appN.mydomain.com
私はAPI(Symfony2のベースを持っています - であるFOS休息):
api.mydomain.com
サーバーはnginxの、PHP5(FPM)、CORS開いています。私は今
var data = {someProperty: someValue};
var $p = $resource($rootScope.apiDomain + '/some/endpoint', {}, {
get: {
method: 'GET'
}
}).get(data).$promise;
var request = $q.all({request: $p});
return request
.then(function (response) {
// code on success
}, function (error) {
// code on error
});
のは、そのサーバーの応答が400のまたは500の場合、ResponseError(インターセプター)中のいずれかであるとしましょう:
Imは、いくつかのデータのためのAPIエンドポイントを呼び出す:
さて、問題を説明することができますバックエンドサーバから返送されたレスポンスコード
responseError: function (response) {
if (403 === response.status) {
// something on 403
}
// do something on other codes
return $q.reject(response);
}
どんなに状況 『の値「としてこのコードを取得するべきではありませんVEの』、response
オブジェクトこうした解決する方法はあり
- :だから
...
Object {data: null, status: -1, config: Object, statusText: ""}
は、しかし...私はTHIS ANSERを見てきたし、これは私が今持っている何をすべきか、基本的には次が含まれ(私は、いずれの方法でも背面の&フロントの構成で完全な可能性を持っています)
- "解決できない"場合は、どうすればいいですか?
これは、CORSの問題のように見えます。コンソールは何を言いますか?ネットワークパネルが応答について何を言いますか? –
ええと、CORSです。フロントとバックエンドにCORSを設定してください。Googleの場合は情報がロードされますが、開始するには似たような質問があります。http://stackoverflow.com/questions/21455045/angularjs-http-cors-and-http-authentication – Chris
ありがとう私が言ったように、基本的に私はCORSを次のように開いています:[pastebin](http:// pastebin。com/aMHye04D) @JBNizetコンソールが正しいResponseCode(つまり403) – kptLucek