首页 > 后端开发 > C++ > 为什么我的 ASP.NET WebMethod 在通过 jQuery AJAX 调用时返回'401(未经授权)”错误?

为什么我的 ASP.NET WebMethod 在通过 jQuery AJAX 调用时返回'401(未经授权)”错误?

Barbara Streisand
发布: 2025-01-04 04:59:40
原创
423 人浏览过

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>{</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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></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,请更新 jQuery AJAX URL 以使用 ResolveUrl:

网址:',

通过实施这些更改,消除了“401(未经授权)”错误,并且可以使用 WebMethod使用 jQuery AJAX 成功调用。

以上是为什么我的 ASP.NET WebMethod 在通过 jQuery AJAX 调用时返回'401(未经授权)”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板