2017-04-21 13 views
0

APIを呼び出すWebサイトをAzure 。Azure - ウェブサイト呼び出しAPI - 'Access-Control-Allow-Origin'ヘッダーに複数の値 '*、*'が含まれていますが、1つしか許可されていません。

ウェブサイトとAPIを公開して何回か試してみましたが、データを取得できましたが、POSTやDELETEはできませんでした。それは、「Access-Control-Allow-Origin」ヘッダーが設定されていないことを示していました。

だから私は、CORS(でバイオリンを始めた私はすでに、このマニュアルに従ってコントローラ

[EnableCors(origins: "*", headers: "*", methods: "GET")]

、およびWebApiConfig

var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors);

中に持っていました私はローカルでサービスを実行していたときに使用されていた 今https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api

、何も働いていないとGETが働いていたとき、私は元の状態(に反転した後)、私はChromeでコンソールにこのエラーを得続ける:

「アクセス・コントロール - Allow-Originのヘッダーには複数の値 '*、*'が含まれていますが、1つだけが許可されます。 Firefoxで

と、この:

理由:CORSヘッダー 'アクセス制御-起源許可する' と一致しません '(ヌル)' は

私はへのアクセスを持っていません.htaccess .htaccess。私が言及したサービスの中に他のCORS関連のコードがあるかどうかを確認したところ、上記のものだけです。私も上記のコードにコメントしようとしたが、エラーは同じままです。

+0

はEnableCorsAttributeに "*" だけを試してみてください? – MiltoxBeyond

+0

更新しましたか? –

+0

@ TomSun-MSFT私はApp_Start/WebApiConfigに 'config.EnableCors();'だけを残しました。コントローラーで '' EnableCors(origin: "*"、ヘッダー: "*"、メソッド: "*")] 'を使用していました。 APIを使用するウェブサイト)。ここに私が役に立つと分かった別のガイドがあります:http://www.c-sharpcorner.com/article/fix-to-no-access-control-allow-origin-header-is-present-or-w/ – adlisval

答えて

1

Azure Portalで設定しようとしていますか?そうでない場合は、Azure WebAPIサイトで設定してください。詳細は、スクリーンショットを参照してください。 Azure official documentから関連情報を入手することもできます。

enter image description here

+0

ありがとう、これは、アプリの設定を無効にしていたことを認識していませんでした。これはポータルでは有効になっていないが、アプリで設定が有効な場合の奇妙な動作です。 – Bon

-1

私はApp_Start/WebApiConfig.csにのみconfig.EnableCors();を残しました。

コントローラで[EnableCors(origins: "*", headers: "*", methods: "*")]を使用しました。

注:すべての結果が得られたら、「origins」を「*」からAPIを使用するウェブサイトのアドレスに変更しました。

は、ここで私が重宝別のガイドです:http://www.c-sharpcorner.com/article/fix-to-no-access-control-allow-origin-header-is-present-or-w/

関連する問題