2016-06-23 11 views
1

Ich habe eine IONIC/AngularJS-Anwendung, aus der ich meine ASP.NET MVC-Controller-Methode, d. H. Login aufrufen muss. Es funktioniert gut mit $ http.get(), aber wenn ich $ http.post() oder $ http ({Methode: 'POST'}) verwenden, gibt es einen Fehler zurück. Der Fehler ist (für Chrome):Aktivieren Sie CORS für MVC und AngularJS

Antwort auf Preflight-Anfrage nicht Zugriffsprüfung nicht besteht: Nein "Access-Control-Allow-Origin-Header ist auf der angeforderten Ressource

ich habe CORS für Server aktiviert, indem Sie die Antwort auf diese Frage:

CORS in ASP .NET MVC5

ich auch nuget Paket enthalten CORS zu ermöglichen, aber das hat nicht s Olve mein Problem. Ich versuchte auch, das Folgende in Angulars POST-Anfrage hinzuzufügen:

aber es hat auch nicht funktioniert. Bitte lassen Sie mich wissen, wenn ich etwas vermisse.

Thankx

Antwort

2

Fügen Sie diese zu Ihrer web.config Datei

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
     <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> 
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
+0

Es Dank viel gearbeitet! – geekowls

+0

Ich stieß auf ein anderes Problem, nachdem ich meine Postmethode erfolgreich schlug. Der Fehler, den ich erhielt, war: "XMLHttpRequest kann http: // URL nicht laden Antwort für Preflight hat ungültigen HTTP-Statuscode 404". So habe ich die folgenden mit meinen Post-Anfragen enthalten: $ httpProvider.defaults.headers.post = {}; Nun trifft es meine Post-Methode, aber meine Methode gibt einen Fehler mit Null Daten zurück. Irgendeine Idee was ist los? – geekowls

2

diese WebApiConfig zu Ihrem hinzufügen

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

Müssen Sie das irgendwo registrieren? Ich stelle mir vor, dass das Erstellen der Variablen nichts bewirkt, nachdem sie ihren Gültigkeitsbereich verlassen hat. – krillgar