ホームページ > バックエンド開発 > C++ > jQuery AJAX を使用して ASP.NET WebMethod を呼び出すときに「401 (Unauthorized)」エラーが発生するのはなぜですか?

jQuery AJAX を使用して ASP.NET WebMethod を呼び出すときに「401 (Unauthorized)」エラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2025-01-03 06:50:46
オリジナル
706 人が閲覧しました

Why Am I Getting a

jQuery AJAX で WebMethod を呼び出すときに ASP.NET で "401 (Unauthorized)" が発生しました

ASP.NET Webform で WebMethod を呼び出すときに発生しました " 401 (不正)」エラー、これは一般的な問題です。この記事では、この問題の潜在的な原因を調査し、解決策を提供します。

解決策

元の質問で示された解決策は、~/App_Start/RouteConfig.cs ファイルを変更し、次の行を置き換えることです

settings.AutoRedirectMode = RedirectMode.Permanent;
ログイン後にコピー

settings.AutoRedirectMode = RedirectMode.Off;
ログイン後にコピー

に変更するか、この行をコメントアウトします。フレンドリ URL が有効な場合は、次の行

url: "ConsultaPedidos.aspx/GetClients",
ログイン後にコピー

url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
ログイン後にコピー

Analysis

"401 (Unauthorized) に変更する必要もあります。 )" このエラーは、サーバーがクライアントのリクエストを認証できないことを示します。 ASP.NET では、WebForms ページはデフォルトでフォーム認証を使用し、ユーザーが認証されていない場合は自動的にログイン ページにリダイレクトされます。

~/App_Start/RouteConfig.cs ファイルの settings.AutoRedirectMode 設定は、要求された URL が存在しない場合のリダイレクトの処理方法を指定します。デフォルト値は RedirectMode.Permanent です。これは、ログイン ページへのリダイレクトが永続的であり、クライアントが認証されていても元の URL にアクセスできないことを意味します。この設定を RedirectMode.Off に変更するか、この行をコメントアウトして自動リダイレクトを無効にします。

さらに、フレンドリー URL が有効になっている場合、jQuery AJAX リクエストはクライアント相対 URL (例: "ConsultaPedidos.aspx/GetClients") を使用します。これにより、サーバーはリクエストを解析できなくなり、「401 (Unauthorized)」エラーが返されます。 ResolveUrl メソッドを使用して相対 URL を絶対 URL に変換すると、この問題を解決できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート