新手来了 我有一个关于 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()
有任何想法吗?