Ajax在jQuery中返回错误401(“未授权”)

时间:2013-08-13 20:58:51

标签: c# jquery asp.net ajax json

新手在这里。我有一个关于Ajax的问题​​。情况是这样的:我有一个多选管理下拉列表,我想从那些管理中带来管理人员,并将它们附加到另一个下拉列表中(我没有完成)。 在这里,我调用函数并发送选定的值:

    getManagersByManagement($("#ddlManagement").val());

现在,我想让它从JsonGridDataProvider.svc上的GetManagers返回数据。

    function getManagersByManagement(managementIds) {
            $.ajax({
                type: "GET",
                contentType: "application/json; charset=utf-8",
                url: "../../JsonGridDataProvider.svc/GetManagers",
                data: { 'Id': JSON.stringify(managementIds) },
                dataType: "json",
                success: function (data) {
                    $.jStorage.set($rpt.pageIdentifier + "-Managers", JSON.stringify(data));
                    alert($.jStorage.get($rpt.pageIdentifier + "-Managers"));
                },
                error: function (jqXhr, textStatus, errorThrown) {
                    alert("fail");
                }
            });

这是GetManagers功能>>

[OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        public List<User> GetManagers(long[] managementIds)
        {
            IList<User> allUserList = (new UserBiz()).GetAllByUserByTypeAndState(2, 3);
            List<User> list = (from v in allUserList where v.Active == true orderby v.FullName ascending select v).ToList();
            var finalUserList = (from item in list
                                 let sameManList = (from v in item.Management
                                                    where managementIds.Contains(v.Id)
                                                    select v.Id).Distinct().ToList()
                                 where sameManList.Count > 0
                                 select item).ToList();
            return finalUserList;
        }

但是当它没有转到GetManagers函数时,它返回“错误401”(“未授权”)。知道为什么会这样吗?


修改

谢谢大家的回复。多亏了这一点,我检查了问题不是javascript函数,也不是ajax配置,而是 GetManagers()函数(或者我缺少的某些配置)。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试在您调用的方法中添加[HttpPost]属性。并更改类型:“GET”在脚本中键入:“POST”。也许它会有所帮助。它对我有用。