2011-01-11 2 views
2

JavaScript 코딩, 특히 jQuery를 처음 사용하는 것에 익숙합니다. jsTree를 사용하여 JSON을 채우려고합니다. 이제는 내 질문에 관련 질문에 대한 대답이 들어 왔지만 지금하고있는 것에 대한 구체적인 대답을 찾을 수없는 것 같습니다. 나는 jsTree 문서를 참조했지만 아직도 이해할 수는 없다. 아래 JSON에서 jsTree Children로드하기

이 기본적으로 JSON에 대한 jsTree 문서의 코드의 복사본입니다 내가 밖으로

buildTree : function(name, url, nodeRef) { 

    $("#"+name).jstree({ 
     "json_data" : { 
    "ajax" : { 
    "url" : url + nodeRef, 
    "data" : function(n) { 
     return { id : n.attr ? n.attr("id") : 0 }; 
    } 
    } 
    }, 

    "plugins" : [ "themes", "json_data" ] 
    }); 
    } 

노력하고있어 코드입니다. 여기서 무슨 일이 일어나고 있는지 그 나무의 루트 폴더에 내용을 채울 수 있습니다. 아래는 JSON의 반응입니다.

[ 
{ 
"attr":{"id":"a3e6a1f0-ec50-4215-a6df-2065eb09115e","rel":"file"}, 
"data":"File 1","state":"" 
}, 
{ 
"attr":{"id":"b38e4a72-875b-4d69-95d3-5437f7e65575","rel":"folder"}, 
"data":"Folder 1","state":"closed" 
} 
] 

그러나 폴더의 노드를 클릭하면 같은 값을 가진 동일한 JSON 요청으로 채워집니다.

나는 범인

"url" : url + nodeRef, 

알고 있지만, 나는 내가 초기 nodeRef 값을 대체 내가 응답에서 받고 있어요 ID를 전달하는거야 방법에 손실입니다. 콜백을 사용해 보았지만 아무 일도 일어나지 않았습니다.

모든 도움을 주시면 대단히 감사하겠습니다.

답변

0

코드의 다음 부분은 이미 "id"쿼리 문자열 매개 변수를 ajax URL에 추가 처리합니다. 이 함수는 요청할 url에 대한 쿼리 문자열 매개 변수에 사용될 키/값 쌍이있는 객체를 반환합니다.

"data" : function(n) {  return { id : n.attr ? n.attr("id") : 0 };  } 

코드에 nodeRef 변수의 용도가 무엇인지 확실하지 않습니다. 루트 노드를 찾는 것입니까? 그렇다면 다른 쿼리 문자열 매개 변수를 사용할 수 있습니까?

jsTree가 생성 한 URL을 확인하기 위해 fiddler를 사용하십시오. 아마 그것은 현재 두 개의 ID 쿼리 문자열 매개 변수를 사용하여 URL을 생성하고 있으며 항상 nodeRef 변수에서 제공하는 매개 변수를 사용합니다.