Web設定で次のようにクロスドメインにアクセスできるASP.Net Web APIのポストメソッドを呼び出そうとしています。AngularjsアプリケーションがPOSTメソッドでクロスドメインに失敗する
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
私の角度アプリは急行アプリです。次のようにpostメソッドを呼び出します。
method: "POST",
data: data,
url: "http://api.justbooksaloon.com/api/Customer/Login",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
'Access-Control-Allow-Headers': 'Content-Type, Origin, X-Requested-With, Accept'
ただし、次のエラーが発生します。
XMLHttpRequestはhttp://api.justbooksaloon.com/api/Customer/Loginをロードできません。要求ヘッダーフィールドAccess-Control-Allow-Originは、プリフライト応答でAccess-Control-Allow-Headersによって許可されません。 angular.js:14110 POST http://api.justbooksaloon.com/api/Customer/Loginヌル
これらを削除すると、次のエラーが発生します。 'リクエストヘッダーフィールドプリフライトレスポンスでAccess-Control-Allow-Headersによってアクセス制御の最大許容時間が許可されていません' –
@JanithWidarshana - これも 'Access-Control'で始まります。それをクライアント側のコードから削除します。 – Quentin
私は現在、ヘッダパラメータを送信していません。しかし依然としてリクエストヘッダーフィールドAccess-Control-Max-Ageは、プリフライトレスポンスでAccess-Control-Allow-Headersによって許可されていません。エラー。 –