3
를 사용하여 채우기 트리 : 나는 나무가 있지만, 표시하기위한 것입니다은 "로드"아이콘을 얻을jsTree - 동적으로 내가이 jsTree 채우기 싶습니다 사업부가 AJAX/C# 웹 방법
을, 자바 스크립트 오류가있는 것처럼 보일 것입니다.
다음과 같이 AJAX 요청에서 내 폴더 구조를로드합니다. Documents.aspx/GetFolders 웹 메서드는 FolderId, ParentId & 폴더 이름이 포함 된 목록을 반환합니다. 나는 웹 메소드를 디버깅했으며 올바른 결과를 jsTree "data"함수에 전달합니다.
$.ajax({
type: "POST",
url: 'Documents.aspx/GetFolders',
contentType: "application/json; charset=utf-8",
success: function (data) {
data = data.d;
$("#tree").jstree({
"core": {
"themes": {
"responsive": true
},
"data": function() {
var items = [];
items.push({ 'id': "jstree_0", 'parent': "#", 'text': "Documents" });
$(data).each(function() {
items.push({ 'id': "jstree_" + this.DocumentFolderId, 'parent': "jstree_" + this.ParentId, 'text': "" + this.Name });
});
return items;
}
},
"types": {
"default": {
"icon": "fa fa-folder icon-lg"
},
},
"plugins": ["contextmenu", "dnd", "state", "types"]
});
},
error: function() {
toastr.error('Error', 'Failed to load folders<span class=\"errorText\"><br/>There was a fatal error. Please contact support</span>');
}
});
코드를 디버깅 한 후 데이터가 올바르게 검색되고 의도 한대로 개체 배열을 반환하고있는 것으로 보입니다.
위와 관련하여 문제가 있습니까 (아니면 내가보고 있어야하는 다른 곳입니까)? 아니면 의도 된 목적을 달성하기위한 더 나은 방법이 있습니까?
나는 이것이 단지 스피너와 jstree의 "로드 ..."를 보여줍니다했을 때 . 내 아약스 스크립트는 200 (OK) 상태를 반환하므로 원본 데이터가로드되고 있음을 알 수 있습니다. 이것이 일어날 수있는 이유는 무엇입니까? – Andy