javascript - 401:当我尝试在 .net 中通过 AJAX 调用方法时未授权
问题描述
我在框架 4.5.1 中有一个 .net 项目
当我ajax
像下面这样使用时,它可以工作并且调试器会触发page_load
事件:
$.ajax({
"async": true,
"crossDomain": true,
type: "POST",
url: "Advanced.aspx",
contentType: "application/json; charset=utf-8",
success: function (ms) {
alert('success');
}
})
在我的advanced.aspx.cs中,我有以下方法:
[System.Web.Services.WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public static string SaveChange(string myval)
{
//dummy code for test purposes.
string u = myval + "X";
return u;
}
我想通过ajax
. 为此,我正在更新我的ajax
呼叫,如下所示:
$.ajax({
"async": true,
"crossDomain": true,
type: "POST",
url: "Advanced.aspx/SaveChange",
data: {username:"test"},
contentType: "application/json; charset=utf-8",
success: function (ms) {
alert('success');
}
})
但是,当我这样做时,它会给我401:unauthorized error
,如下所示:
我怎样才能解决这个问题?在过去的几个小时里尝试了很多东西,没有运气..任何帮助将不胜感激。
编辑:我已经使用async
并crossDomain
希望解决此问题,但没有帮助。通常它们在我的 ajax 调用中不存在,没有任何变化。
解决方案
尝试将您的 AJAX JS 更新为:
$.ajax({
type: "POST",
url: "Advanced.aspx/SaveChange",
data: {myval:"test"},
success: function (ms) {
alert('success');
}
})
推荐阅读
- flutter - 扑动 IAP 如何“恢复购买”
- java - 我应该使用原子整数还是同步
- materialize - 物化选择不在模态中显示
- ruby-on-rails - 为什么我的 Rails URL 路由使用点而不是斜线呈现 URL?
- angularjs - 添加打字稿方法的签名
- android - 如何在 Android 的弹出窗口上处理点击侧的监听器?
- swift - 在 swift 中假设集合类型时类型推断的工作原理
- java - 将 Katalon Studio 更新到版本 5.9.1 - ClassNotFoundException
- c - 如何模拟 send() 以便对函数 commSendPacket 进行单元测试?
- python - 包含轮廓的图像中出现白点