1

リクエストヘッダーにパラメーターを追加しようとしていますが、同じドメインの呼び出しでは正常に機能しますが、別のドメイン (API) を呼び出す場合は、ヘッダーパラメーター自体を変更する必要があります。

これは、パラメーターを追加しようとしたコードです。

jqXHR.setRequestHeader(
  "Authorization", 'bearer t-7614f875-8423-4f20-a674-d7cf3096290e'
);

このようにする必要があります

Authorization: bearer t-3e57cc74-3e7a-4fc7-9bbb-f6c83252db01
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

ただし、クロスドメイン呼び出しの場合は次のようになります。

Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Access-Control-Request-Headers  authorization
Access-Control-Request-Method   GET

クロスドメイン呼び出しでこれを修正する方法を誰か教えてもらえますか?

4

1 に答える 1

2

カスタム ヘッダーを使用するため、CORS の「プリフライト」部分を実装する必要があります。MDNに適切なドキュメントがあります。

基本的に、HTTPOPTIONS要求を処理し、要求が許可されていることをクライアントに示す適切なヘッダーで応答する必要があります。ヘッダーを含むすべての GET リクエストを単に許可したい場合はAuthorization、次の応答ヘッダーがその役割を果たします。

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: authorization
于 2012-12-23T14:49:16.963 に答える