여기 새내기. Ajax에 관한 문제가 있습니다. 상황은 이렇습니다 : 여러 항목의 관리 드롭 다운 목록이 있으며 그 관리자의 관리자를 가져 와서 다른 드롭 다운 목록에 추가하려고합니다 (완료하지는 않았습니다). 나는이 JsonGridDataProvider.svc에 GetManagers에서 데이터를 반환하려면, 지금jQuery에서 Ajax가 오류 401 ("Unauthorized")을 반환했습니다.
getManagersByManagement($("#ddlManagement").val());
: 여기 , 내가 선택한 값을 함수를 호출을 보냅니다.
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"("무단") 반환 할 때입니다. 어떤 아이디어가 이런 일이 일어나는 이유는 무엇입니까?
편집은 답변에 대한 여러분 모두 감사합니다. 덕분에 문제를 확인했습니다.은 javacript 기능이나 ajax 구성이 아니지만 GetManagers()
기능 (또는 일부 구성이 누락 됨)입니다. 아이디어가 있으십니까?
디렉토리에 대한 사용 권한 문제 (예 : "../../JsonGridDataProvider.svc/")? 또는 해당 폴더에 대한 권한 부여가 필요한 다른 서버 구성입니까? –
'data : JSON.stringify (managementIds),' – Musa
시도해보십시오. 절대 URL로 테스트하십시오. 아마도 올바른 리소스를 사용하지 않았을 것입니다. – Konstantin