Javascript 401:当我试图在.net中通过AJAX调用方法时,未经授权
我在Framework4.5.1中有一个.net项目 当我像下面那样使用Javascript 401:当我试图在.net中通过AJAX调用方法时,未经授权,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我在Framework4.5.1中有一个.net项目 当我像下面那样使用ajax时,它会工作,调试器会点击page\u load事件: $.ajax({ "async": true, "crossDomain": true, type: "POST", url: "Advanced.aspx", contentType: "application/json; charset=utf-8", succe
ajax
时,它会工作,调试器会点击page\u 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');
}
})
在这里找到了答案:
我用过
settings.AutoRedirectMode=RedirectMode.Off
而不是~/App\u Start/RouteConfig.cs
中的重定向模式.Permanent
,它修复了问题