Heim > Backend-Entwicklung > C++ > Warum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler „401 (nicht autorisiert)'?

Warum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler „401 (nicht autorisiert)'?

Mary-Kate Olsen
Freigeben: 2025-01-03 06:50:46
Original
697 Leute haben es durchsucht

Why Am I Getting a

ASP.NET ist beim Aufruf von WebMethod mit jQuery AJAX auf „401 (Unauthorized)“ gestoßen.

Aufgetreten beim Aufruf von WebMethod in ASP.NET Webform „ 401 (Unauthorized)“ Fehler, das ist ein häufiges Problem. In diesem Artikel werden die möglichen Ursachen dieses Problems untersucht und Lösungen bereitgestellt.

Lösung

Die in der ursprünglichen Frage angegebene Lösung besteht darin, die Datei ~/App_Start/RouteConfig.cs zu ändern und die folgenden Zeilen zu ersetzen

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

Wechseln Sie zu

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

oder kommentieren Sie diese Zeile aus. Wenn benutzerfreundliche URLs aktiviert sind, müssen Sie auch die folgende Zeile

url: "ConsultaPedidos.aspx/GetClients",
Nach dem Login kopieren

in

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

Analyse

"401 (Nicht autorisiert) ändern )“ Der Fehler weist darauf hin, dass der Server die Anfrage des Clients nicht authentifizieren kann. In ASP.NET verwenden WebForms-Seiten standardmäßig die Formularauthentifizierung und leiten automatisch zur Anmeldeseite um, wenn der Benutzer nicht authentifiziert ist.

Die Einstellung „settings.AutoRedirectMode“ in der Datei ~/App_Start/RouteConfig.cs gibt an, wie Weiterleitungen gehandhabt werden, wenn die angeforderte URL nicht vorhanden ist. Der Standardwert ist RedirectMode.Permanent, was bedeutet, dass die Umleitung zur Anmeldeseite dauerhaft ist und die ursprüngliche URL nicht zugänglich ist, selbst wenn der Client authentifiziert ist. Ändern Sie diese Einstellung in RedirectMode.Off oder kommentieren Sie diese Zeile aus, um die automatische Umleitung zu deaktivieren.

Wenn freundliche URLs aktiviert sind, verwenden jQuery-AJAX-Anfragen außerdem clientrelative URLs (z. B. „ConsultaPedidos.aspx/GetClients“). Dies führt dazu, dass der Server die Anfrage nicht analysieren kann und den Fehler „401 (nicht autorisiert)“ zurückgibt. Durch Konvertieren der relativen URL in eine absolute URL mithilfe der ResolveUrl-Methode kann dieses Problem behoben werden.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Aufruf einer ASP.NET WebMethod mit jQuery AJAX den Fehler „401 (nicht autorisiert)'?. 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