Ich habe eine dot net core API läuft auf localhost: 5000. Ich habedot net core api mit CORS immer noch Anfrage ablehnen
hinzugefügtservices.AddCors();
zum ConfigureServices Verfahren und
app.UseCors(builder => builder.WithOrigins("http://localhost:3000")
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod());
zu konfigurieren Methode in StartUp.
ich eine js-Client haben, die
return fetch('http://localhost:5000/api/Authorization', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
UserName: userName,
Password: password,
})}).then((response) => response.json())
.then((responseJson) => {return responseJson.userIsAdmin});
}
Aber wenn das letzte ausgeführte versucht wird, weigert sich der Browser und sagte:
Nein 'Access-Control-Allow-Origin' Header ist auf der angeforderten Ressource vorhanden. Origin 'http://localhost:3000' ist daher nicht erlaubt Zugriff. Die Antwort hatte den HTTP-Statuscode 500.
Forschungsergebnisse zu den bereits im oben genannten API-Projekt implementierten Lösungen. Was vermisse ich?
In Ihrem 'StartUp.cs', wo haben Sie die Add/UseCors, vor oder nach dem Add/UseMvc? Es muss vorher sein. –
* "Die Antwort hatte HTTP-Statuscode 500" * ⬅ das ist der einzige wichtige Teil der in der Frage genannten Nachricht. Es ist kein CORS-Fehler. es sieht nur wie eins aus, da der Server den Header "Access-Control-Allow-Origin" nicht zu 500 Fehlerantworten hinzufügt - er fügt ihn wahrscheinlich nur zu 2xx-Erfolgsantworten hinzu. So zeigt 500 an, dass Sie überhaupt kein CORS-Problem haben, sondern stattdessen einen serverseitigen Fehler. Das ist das eigentliche Problem, das Sie benötigen, um die Ursache von & fix zu identifizieren: Der Server sagt, dass es einen schwerwiegenden Fehler gibt - serverseitigen Fehler - und es funktioniert nicht mehr, ist nicht mehr verfügbar – sideshowbarker