Ich verwende AngularJS $ http auf der Client-Seite, um auf einen Endpunkt einer ASP.NET-Web-API-Anwendung auf der Serverseite zuzugreifen. Da der Client in einer anderen Domäne als Server gehostet wird, brauche ich CORS. Es funktioniert für $ http.post (URL, Daten). Aber sobald ich den Benutzer authentifizieren und eine Anfrage über $ http.get (url) machen, bekomme ich die MeldungDer 'Access-Control-Allow-Origin'-Header enthält mehrere Werte
The 'Access-Control-Allow-Origin' header contains multiple values 'http://127.0.0.1:9000, http://127.0.0.1:9000', but only one is allowed. Origin 'http://127.0.0.1:9000' is therefore not allowed access.
Fiddler mir zeigt, dass es in der Tat zwei Header-Einträge in der Erhaltungs-Anforderung nach einer erfolgreichen Optionen anfordern. Was und wo mache ich etwas falsch?
aktualisieren
Wenn ich jQuery $ statt $ verwenden .get http.get, die gleiche Fehlermeldung angezeigt. Das scheint bei AngularJS kein Problem zu sein. Aber wo ist es falsch?
Es scheint, als ob Sie Properties.Settings.Default.Cors aus einer Einstellungsdatei lesen. Können Sie ein Beispiel veröffentlichen? Und in welcher Klasse ist UseCors? – Hoppe
"Uncaught ReferenceError: EnableCorsAttribute ist nicht definiert"? – circuitry
@Hoppe, bitte schauen Sie sich http://msdn.microsoft.com/en-us/library/dn314597(v=vs.118).aspx an. Es wird erläutert, dass der erste Parameter des EnableCorsAttribute die zulässigen Ursprünge sind. Zum Beispiel "*" um alle zuzulassen. –