繁体   English   中英

401:unauthorized 当我尝试在 .net 中通过 AJAX 调用方法时

[英]401:unauthorized when I try to call a method via AJAX in .net

我在框架 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 ,如下所示:

在此处输入图片说明

我怎样才能解决这个问题? 在过去的几个小时里尝试了很多东西,没有运气.. 任何帮助将不胜感激。

编辑:我使用asynccrossDomain希望解决这个问题,没有帮助。 通常它们在我的 ajax 调用中不存在,没有任何变化。

尝试将您的 AJAX JS 更新为:

$.ajax({
    type: "POST",
    url: "Advanced.aspx/SaveChange",
    data: {myval:"test"},
    success: function (ms) {
        alert('success');
    }
})

在这里找到答案: ASP.NET Calling WebMethod with jQuery AJAX "401 (Unauthorized)"

我用过settings.AutoRedirectMode = RedirectMode.Off; 而不是RedirectMode.Permanent~/App_Start/RouteConfig.cs ,其中固定的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM