Benutzer werden mit Autorisierungsfehlern (401) konfrontiert, wenn sie versuchen, eine WebMethod aufzurufen ASP.NET mit jQuery AJAX. Die Fehlermeldung lautet normalerweise „Authentifizierung fehlgeschlagen“.
Die WebMethod wird in einem WebForm wie folgt deklariert:
[WebMethod] public static string GetClients(string searchTerm, int pageIndex) { /*...*/ }
Beim Aufruf der WebMethod jedoch mit:
$.ajax({ /*...*/ url: "ConsultaPedidos.aspx/GetClients", /*...*/ });
Der Browser antwortet mit 401 Unauthorized Fehler.
Die Lösung für dieses Problem besteht darin, den automatischen Umleitungsmechanismus in ASP.NET zu deaktivieren:
Suchen Sie die Zeile:
settings.AutoRedirectMode = RedirectMode.Permanent;
Ändern Sie es in:
settings.AutoRedirectMode = RedirectMode.Off;
Alternativ können Sie die Zeile auskommentieren.
Zusätzliche Änderung:
Wenn benutzerfreundliche URLs im aktiviert sind Anwendung müssen Sie auch Folgendes ändern:
url: "ConsultaPedidos.aspx/GetClients",
in:
url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
Erklärung:
Standardmäßig leitet ASP.NET automatisch unbefugte Weiterleitungen weiter Anfragen an die Anmeldeseite. Durch Deaktivieren dieses Verhaltens kann der WebMethod-Aufruf fortgesetzt werden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler 401 Unauthorized?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!