Der Header 'Access-Control-Allow-Origin' enthält mehrere Werte '*, *', aber nur einer ist erlaubt

8

Ich benutze Angular und asp.net API. Das Problem, mit dem ich konfrontiert bin: Wenn ich CORS in den API-Code einfüge, funktioniert es in Internet Explorer, funktioniert aber nicht in Chrome und Firefox.

Hier ist der Fehler:

  

XMLHttpRequest kann Ссылка nicht laden. Das   'Access-Control-Allow-Origin' Header enthält mehrere Werte '*, *',   aber nur einer ist erlaubt. Origin Ссылка ist also   nicht erlaubter Zugriff.

Dies ist der Code, den ich in der Datei web.config hinzugefügt habe:

%Vor%

In der WebApiConfigFile.cs Datei habe ich hinzugefügt:

%Vor%

Ich benutze CORS zum ersten Mal. Jede Hilfe wird geschätzt.

    
trigri 08.04.2015, 19:47
quelle

3 Antworten

15

Sie setzen CORS zweimal. Ich denke, das ist das Problem.

Bitte entfernen Sie eine beliebige CORS-Einstellung. Sie können es entweder aus web.config oder aus WebApiConfigFile.cs entfernen.

    
Abhilash P A- Pullelil 12.11.2015 04:33
quelle
3

Chrome und Firefox verwenden eine so genannte Pre-Flight-Prüfung mit dem Verb "OPTIONS".

Also müssen Sie den erlaubten Methoden in der Datei web.config "OPTIONS" hinzufügen. Möglicherweise müssen Sie der Application_Begin-Anfrage auch Code hinzufügen, wie in dieser Antwort vorgeschlagen: Behandlung von CORS Preflight-Anfragen an ASP.NET MVC-Aktionen

Hier sind einige Ressourcen für CORS:

IIS entführt die CORS Preflight OPTIONS-Anfrage

Ссылка

    
Karen B 09.04.2015 21:07
quelle
0

Ich habe dieses Problem, weil ich die app.UseCors nach ConfigureOAuth gesetzt habe. Ändern Sie die Reihenfolge, um das Problem zu beheben.

%Vor%

Hier ist das Detail in meinem Fall:

  • Am Anfang wurde mir Origin in 'Access-Control-Allow-Origin' beim Aufruf von \token nicht erlaubt.
  • LSo Ich füge den customHeader mit 'Access-Control-Allow-Origin', 'Access-Control-Erlaube-Header', 'Access-Control-Allow-Methoden' hinzu. Es hat die \token -Anfrage behoben.
  • Aber dann habe ich doppelte 'Access-Control-Allow-Origin' beim Aufruf von Detail-API. Es gibt viele Vorschläge, wie zum Beispiel konnte nicht reparieren.
dichen 11.03.2017 05:45
quelle