2

angularJS $resource と POST を API に呼び出す次の $save を実行しています。成功のコールバック ハンドラーにデバッグすることができ、オブジェクトは実際に API で作成されます。

myObj.$save({}, function (value, responseHeaders) {
    myObj.someSuccessFunction();
}, function (responseText) {
    myObj.someFailureFunction();
});

「responseHeaders」パラメータから何も取得できません。「responseHeaders()」は空のオブジェクトを返します。次のような「場所」応答ヘッダーを取得したいと思います: responseHeaders("Location")。

クロムでデバッグするときに応答が入力されることに注意してください。「responseHeaders」オブジェクトは、何らかの理由で設定されていません。

これらの responseHeaders を取得するにはどうすればよいでしょうか?

ありがとう!

4

3 に答える 3

2

CORSの問題でしょうか?ドメイン全体で呼び出しを行っている場合は、飛行前の OPTIONS 呼び出しに cors.exposed.headers を必ず含めてください。

于 2014-01-15T00:57:51.143 に答える
0

Spring Security 4.2 CORS フィルターと AngularJS にも同じ問題があります。Angular JS を使用して構築されたクライアント アプリは、Spring Rest API によって送信された応答ヘッダーから顧客認証トークンを読み取ることができません。

以下のヘッダーを公開することで問題を解決できました。

config.addExposedHeader("Origin");
config.addExposedHeader("X-Requested-With");
config.addExposedHeader("X-AUTH-TOKEN");
config.addExposedHeader("Content-Type");
config.addExposedHeader("Accept");
config.addExposedHeader("Authorization");
config.addExposedHeader("Location");

上記修正後。ヘッダーを読み取ることができる私のAngularコード。

于 2016-05-24T06:32:43.963 に答える