を使用して簡単なWebアプリケーションを構築しています。ReactJSとcreate-react-appフェッチAPIレスポンスヘッダーが表示されない
私はHeroku上でバックアップAPIを設定しており、POSTリクエストを作成できます。
fetch APIを使用してPOSTリクエストを行うと、応答は100%正確ですが、標準ヘッダーは2つしかありません。カスタムヘッダーを取得したい返信に公開ヘッダーを追加しました。ここにはプロットツイストがあります:Chrome Inspection ToolまたはPostman(APIツール)からヘッダーを見ると、カスタムヘッダーを含むすべてのヘッダーが表示されます。それはどんな違いをした場合、このフェッチ方法はReactJS部品の本体外側の関数から呼び出され、
fetch(theUrl, {
method: 'POST',
body: JSON.stringify({
"placeholder": "placeholder"
})
})
.then(function(res) {
console.log(res.headers.get('CUSTOM_HEADER_NAME'));
})
からは、ここに私が使用しているフェッチコードです。
カスタムヘッダーの名前はImage-Identification-Path
で、レスポンスヘッダーのヘッダーはImage-Identification-Path
の場合はAccess-Control-Expose-Headers
です。
要約:フェッチを使用してカスタムヘッダーを取得するにはどうすればよいですか?
これはクロスオリジンのリクエストですか? *「自分のレスポンスにヘッダーを公開しました」と言ったら、カスタムヘッダーの名前をAccess-Control-Expose-Headersレスポンスヘッダーの値に追加したことになりますか? – sideshowbarker
はい、クロスオリジンのリクエストです。私は今ローカルホスト上で私のアプリを実行しています。私はこれをHerokuでもアップロードしてテストしましたが、同じ結果が得られます。 また、カスタムヘッダーの名前をAccess-Control-Expose-Headersレスポンスヘッダーの値に追加しました。 – Fahmid
あなたのスクリーンショットは、Image-Identification-Pathヘッダー名がAccess-Control- * Allow * -Headersヘッダーの値にあることを示しています。あなたはそれをAccess-Control- * Expose * -Headersヘッダーの値に設定する必要があります。 (Access-Control-Allow-Headersはカスタム*要求*ヘッダー名を一覧表示するためのものです) – sideshowbarker