>백엔드 개발 >C++ >jQuery AJAX를 통해 호출할 때 내 ASP.NET WebMethod가 '401(권한 없음)' 오류를 반환하는 이유는 무엇입니까?

jQuery AJAX를 통해 호출할 때 내 ASP.NET WebMethod가 '401(권한 없음)' 오류를 반환하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-04 04:59:40432검색

Why Does My ASP.NET WebMethod Return a

ASP.NET jQuery AJAX로 WebMethod를 호출하면 "401(권한 없음)"이 반환됨


시도할 때 문제가 발생했습니다. jQuery AJAX를 사용하여 ASP.NET 웹 양식에서 WebMethod를 호출하면 "401 (권한 없음)' 오류 메시지.

문제의 WebMethod인 GetClients는 다음과 같이 정의됩니다.

[WebMethod]<br>public static string GetClients (문자열 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>

추가 조사에 따르면 이 오류는 웹 애플리케이션 내에서 사용자 인증을 구현한 후 발생한 것으로 나타났습니다. 인증 구성은 다음과 같이 정의됩니다.

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

이 문제를 해결하기 위해 다음 단계를 수행했습니다. take:

  1. 자동 리디렉션 비활성화: ~/App_Start/RouteConfig.cs 파일에서 다음 줄을 주석 처리하거나 변경합니다:

< ;사전>settings.AutoRedirectMode = RedirectMode.Permanent;

  1. AJAX URL 업데이트: 친숙한 URL이 활성화된 경우 ResolveUrl을 사용하도록 jQuery AJAX URL을 업데이트하세요:

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

이러한 변경 사항을 구현함으로써 "401(권한 없음)" 오류가 제거되었으며 WebMethod는 jQuery AJAX를 사용하여 성공적으로 호출되었습니다.

위 내용은 jQuery AJAX를 통해 호출할 때 내 ASP.NET WebMethod가 '401(권한 없음)' 오류를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.