Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 401:当我试图在.net中通过AJAX调用方法时,未经授权_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript 401:当我试图在.net中通过AJAX调用方法时,未经授权

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

我在Framework4.5.1中有一个.net项目

当我像下面那样使用
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
,它修复了问题