Heim > Backend-Entwicklung > C++ > Warum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler 401 Unauthorized?

Warum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler 401 Unauthorized?

Susan Sarandon
Freigeben: 2025-01-05 13:28:41
Original
387 Leute haben es durchsucht

Why Am I Getting a 401 Unauthorized Error When Calling an ASP.NET WebMethod with jQuery AJAX?

Unautorisierter WebMethod-Aufruf mit ASP.NET und jQuery AJAX

Problembeschreibung

Benutzer werden mit Autorisierungsfehlern (401) konfrontiert, wenn sie versuchen, eine WebMethod aufzurufen ASP.NET mit jQuery AJAX. Die Fehlermeldung lautet normalerweise „Authentifizierung fehlgeschlagen“.

Hintergrund

Die WebMethod wird in einem WebForm wie folgt deklariert:

[WebMethod]
public static string GetClients(string searchTerm, int pageIndex) { /*...*/ }
Nach dem Login kopieren

Beim Aufruf der WebMethod jedoch mit:

$.ajax({ /*...*/
    url: "ConsultaPedidos.aspx/GetClients",
    /*...*/
});
Nach dem Login kopieren

Der Browser antwortet mit 401 Unauthorized Fehler.

Lösung

Die Lösung für dieses Problem besteht darin, den automatischen Umleitungsmechanismus in ASP.NET zu deaktivieren:

  1. Navigieren Sie zu ~/App_Start/RouteConfig.cs.
  2. Suchen Sie die Zeile:

    settings.AutoRedirectMode = RedirectMode.Permanent;
    Nach dem Login kopieren
  3. Ändern Sie es in:

    settings.AutoRedirectMode = RedirectMode.Off;
    Nach dem Login kopieren

    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",
Nach dem Login kopieren

in:

url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage