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
Barbara StreisandOriginal
2025-01-04 04:59:40514Durchsuche

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>
<pre class="brush:php;toolbar:false">// ...

}

Diese WebMethod wird von jQuery AJAX wie folgt aufgerufen:

function GetClients (pageIndex) {</p>
<pre class="brush:php;toolbar:false">$.ajax({
    // ...

}

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>
<pre class="brush:php;toolbar:false"><authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="/Dashboard" />
</authentication>
<authorization>
    <deny users="?" />
</authorization>

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!

Stellungnahme:
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