首頁 >後端開發 >C++ >為什麼我的 ASP.NET WebMethod 在透過 jQuery AJAX 呼叫時傳回「401(未經授權)」錯誤?

為什麼我的 ASP.NET WebMethod 在透過 jQuery AJAX 呼叫時傳回「401(未經授權)」錯誤?

Barbara Streisand
Barbara Streisand原創
2025-01-04 04:59:40462瀏覽

Why Does My ASP.NET WebMethod Return a

ASP.NET 使用jQuery AJAX 呼叫WebMethod 回傳「401(未經授權)」


嘗試時遇到問題使用jQuery AJAX呼叫ASP.NET Webform 中的WebMethod,導致「401 (未經授權)」錯誤訊息。

有問題的 WebMethod GetClients 定義如下:

[WebMethod]<br>public static string GetClients (字串搜尋項,整數pageIndex)<br>{<pre class="brush:php;toolbar:false">// ...

}

此WebMethod 正在從jQuery AJAX 調用,如下所示:

函數GetClients (頁面索引) {<pre class="brush:php;toolbar:false">$.ajax({
    // ...

}

但是,在發出AJAX 要求時,出現以下錯誤:

POST http://本地主機: 64365/ConsultaPedidos.aspx/GetClients <strong>401<br> (未經授權)</strong>

進一步調查顯示,此錯誤是在 Web 應用程式中實現使用者驗證後出現的。認證配置定義如下:

<system.web><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,請更新jQuery AJAX URL以使用ResolveUrl:

網址:',

透過實作這些更改,消除了「401(未經授權)」錯誤,並且可以使用WebMethod使用jQuery AJAX成功調用。

以上是為什麼我的 ASP.NET WebMethod 在透過 jQuery AJAX 呼叫時傳回「401(未經授權)」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn