Chrome を使用してクロスドメイン CORS リクエストを正しく機能させるのに問題があります。
リクエストヘッダー:
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:origin, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
レスポンス ヘッダー:
Access-Control-Allow-Headers:*
Access-Control-Allow-Origin:*
Allow:GET, POST, OPTIONS
Content-Length:0
Date:Tue, 30 Oct 2012 20:04:28 GMT
Server:BaseHTTP/0.3 Python/2.7.3
エラー:
XMLHttpRequest cannot load domain. Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
オプション要求を処理する Python コードは次のとおりです。
self.send_response(200)
self.send_header('Allow', 'GET, POST, OPTIONS')
self.send_header('Access-Control-Allow-Origin', '*')
self.send_header('Access-Control-Allow-Headers', '*')
self.send_header('Content-Length', '0')
self.end_headers()
Access-Control-Allow-Origin
ワイルドカードが無視されているようですね?
ベストアンサー1
Access-Control-Allow-Headers
ヘッダー内のワイルドカードのサポートは生活水準の向上2016 年 5 月現在、すべてのブラウザでサポートされているわけではありません。まだ実装されていないブラウザでは、完全一致である必要があります。https://www.w3.org/TR/2014/REC-cors-20140116/#access-control-allow-headers-response-header
多数のヘッダーが予想される場合は、Access-Control-Request-Headers
ヘッダーの値を読み取り、その値をヘッダーにエコーバックすることができますAccess-Control-Allow-Headers
。