ホームページ >バックエンド開発 >C++ >jQuery AJAX 経由で ASP.NET WebMethod を呼び出すと「401 (Unauthorized)」エラーが返されるのはなぜですか?

jQuery AJAX 経由で ASP.NET WebMethod を呼び出すと「401 (Unauthorized)」エラーが返されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 04:59:40422ブラウズ

Why Does My ASP.NET WebMethod Return a

jQuery AJAX で WebMethod を呼び出す ASP.NET が "401 (Unauthorized)" を返す


試行中に問題が発生しましたjQuery AJAX を使用して ASP.NET Web フォームで WebMethod を呼び出すと、 「401 (Unauthorized)」エラー メッセージ。

問題の WebMethod、GetClients は次のように定義されています:

[WebMethod]<br>public static string GetClients(string searchTerm, int pageIndex)<br>{</p>
<pre class="brush:php;toolbar:false">// ...

}

この WebMethod は、次のように jQuery AJAX から呼び出されます:

function GetClients (ページインデックス) {</p>
<pre class="brush:php;toolbar:false">$.ajax({
    // ...

}

ただし、AJAX リクエストを行うと、次のエラーが発生します:

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

さらなる調査により、このエラーは Web アプリケーション内でユーザー認証を実装した後に発生したことが判明しました。認証構成は次のように定義されます:

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

この問題を解決するには、次の手順を実行しました。取得:

  1. 自動リダイレクトを無効にする: ~/App_Start/RouteConfig.cs ファイルで、次の行をコメント アウトするか変更します:

< ;pre>settings.AutoRedirectMode = RedirectMode.Permanent;

  1. AJAX URL の更新: フレンドリ URL が有効になっている場合は、ResolveUrl:
URL:
これらの変更を実装することで、「401 (Unauthorized)」エラーが解消され、WebMethod がjQuery AJAX を使用して正常に呼び出されました。

以上がjQuery AJAX 経由で ASP.NET WebMethod を呼び出すと「401 (Unauthorized)」エラーが返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。