Ich habe in StackOverflow viele ähnliche Probleme gelesen, aber die Lösungen funktionieren für mich nicht. Ich kann es mit Postman (Chrome-Erweiterung) verwenden. Ich übergebe Daten als "Header". Und ich bekomme 200 Rückkehrcode.
Ich muss diese Methode mit ajax Jquery aufrufen:
$.ajax(apiUri, {
beforeSend: function (xhr, settings) {
xhr.setRequestHeader("Authorization", "Bearer " + $("#AccessToken").val());
},
dataType: "text",
cache: false,
success: function (data) {
console.log(data);
$("#output").text(data);
}
});
Aber in diesem Fall habe ich einen Fehler erhalten.
Bei Resource Server habe ich in web.config gesetzt.
<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>
Antworten:
14 für die Antwort № 1Ich habe mich gerade in eine globale Umgebung gestellt
protected void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
{
Response.Flush();
}
}
und hat einige Änderungen an den Einstellungen von web.config (system.webserver) vorgenommen
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,Authorization" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
dann funktioniert gut :)
Vielen Dank