Heim > Backend-Entwicklung > C++ > Warum gibt meine ASP.NET WebMethod beim Aufruf über jQuery AJAX den Fehler „401 (nicht autorisiert)' zurück?

Warum gibt meine ASP.NET WebMethod beim Aufruf über jQuery AJAX den Fehler „401 (nicht autorisiert)' zurück?

Barbara Streisand
Freigeben: 2025-01-04 04:59:40
Original
423 Leute haben es durchsucht

Why Does My ASP.NET WebMethod Return a

ASP.NET-Aufruf von WebMethod mit jQuery AJAX gibt „401 (nicht autorisiert)“ zurück


Beim Versuch ist ein Problem aufgetreten um eine WebMethod in einem ASP.NET-Webformular mit jQuery AJAX aufzurufen, was zu einem „401“ führt (Unautorisiert)“ Fehlermeldung.

Die betreffende WebMethod, GetClients, ist wie folgt definiert:

[WebMethod]<br>öffentliche statische Zeichenfolge GetClients (string searchTerm, int pageIndex)<br>{</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// ...
Nach dem Login kopieren

}

Diese WebMethod wird von jQuery AJAX wie folgt aufgerufen:

function GetClients (pageIndex) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$.ajax({
    // ...
Nach dem Login kopieren

}

Bei der AJAX-Anfrage tritt jedoch der folgende Fehler auf:

POST http:// localhost:64365/ConsultaPedidos.aspx/GetClients <strong>401<br> (Nicht autorisiert)</strong>

Weitere Untersuchungen ergeben, dass dieser Fehler nach der Implementierung der Benutzerauthentifizierung in der Webanwendung aufgetreten ist. Die Authentifizierungskonfiguration ist wie folgt definiert:

<system.web></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="/Dashboard" />
</authentication>
<authorization>
    <deny users="?" />
</authorization>
Nach dem Login kopieren

Um dieses Problem zu beheben, wurden die folgenden Schritte unternommen:

  1. Automatisch deaktivieren Umleitung: Kommentieren oder ändern Sie in der Datei ~/App_Start/RouteConfig.cs die folgende Zeile:

settings.AutoRedirectMode = RedirectMode.Permanent;

  1. AJAX-URL aktualisieren: Bei benutzerfreundlichen URLs aktiviert sind, aktualisieren Sie die jQuery-AJAX-URL, um ResolveUrl zu verwenden:

url: <%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
< ;/pre>

Durch die Implementierung dieser Änderungen wird die „401 (Unauthorized)“-Fehler wurde behoben und die WebMethod konnte erfolgreich mit jQuery AJAX aufgerufen werden.

Das obige ist der detaillierte Inhalt vonWarum gibt meine ASP.NET WebMethod beim Aufruf über jQuery AJAX den Fehler „401 (nicht autorisiert)' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Vorheriger Artikel:Stack vs. Heap: Wie wirken sich Allokationsmethoden auf die Leistung aus? Nächster Artikel:Wie animiere ich Strichzeichnungen auf einer C#-WPF-Leinwand mithilfe von Code?
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
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage