Ich versuche, eine Anfrage an eine API-Methode mit jQuery zu senden. Client-Seite Code ist wie folgt:OPTIONS URL nicht gefunden & Antwort für Preflight hat ungültigen HTTP-Statuscode 404
$.ajax({
type: 'POST',
url: endpointLocation,
headers: {
AuthToken: "myTokenValue",
UserId: "12345"
},
timeout: 5000,
dataType: 'json',
data: {
isActive: true,
empId: 2050
},
success: function (result) {
debugger;
},
error: function (xhr, textStatus, errorThrown) {
debugger;
}
});
Web.config Einträge:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<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>
Ich erhalte eine Fehlermeldung "XMLHttpRequest kann http://domain/application/method/ nicht geladen Antwort für Preflight ungültige HTTP-Statuscode 404 hat." Nach diesem die Die Steuerung springt zur Fehlermethode.
Auch wenn ich die Header, die ich in web.config-Datei sende, hinzufügen, macht es immer noch keinen Unterschied. Dies ist, wie ich versuchte Header in web.config hinzufügen:
<add name="Access-Control-Allow-Headers" value="Content-Type, AuthToken, UserId" />
Ich brauche diese Header zu senden, da die API-Endpunkt benutzerdefinierte Authentifizierung implementiert, die Werte von Header und überprüfen den Benutzer erfolgt. Dies kann nicht vermieden werden.
Kann mir bitte jemand helfen, das Problem zu beheben?
Gerade authToken & UserId hinzufügen musste Datei Context.Response.AddHeader Access-Control-Allow-Header und kommentieren Sie ("Zugriff-Control- Allow-Origin ", Context.Request.Headers [" Origin "]). "*" war bereits in der web.config. – User2682