Ajax在jQuery中返回错误401(“未授权”)
本文关键字:授权 未授权 jQuery 返回 错误 Ajax | 更新日期: 2023-09-27 18:27:37
这里是新手。我对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函数,而是返回"error 401"("Unauthorized")。知道为什么会发生这种事吗?
编辑
感谢大家的回复。正因为如此,我检查了问题不是javascript函数也不是ajax配置,而是GetManagers()
函数(或者我缺少的一些配置)有什么想法吗?
尝试将[HttpPost]属性添加到您正在调用的方法中。并将脚本中的类型:"GET"更改为类型:"POST"。也许这会有所帮助。它对我有效。