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:
In der WebApiConfigFile.cs
Datei habe ich hinzugefügt:
Ich benutze CORS zum ersten Mal. Jede Hilfe wird geschätzt.
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.
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:
Ich habe dieses Problem, weil ich die app.UseCors
nach ConfigureOAuth
gesetzt habe. Ändern Sie die Reihenfolge, um das Problem zu beheben.
Hier ist das Detail in meinem Fall:
\token
nicht erlaubt. \token
-Anfrage behoben. Tags und Links asp.net-web-api angularjs asp.net cors