2016-09-01 5 views
0

내가 jstree 3.2.1jstree 확인 아약스 호출

내 나무를 사용하여 응용 프로그램을 짓고 있어요에 의해 반환되는 데이터는 다음과 같이 아약스 요청을 사용하여 렌더링되지 않는 경우 :

$("#jstree").jstree({ 
    "core" : 
    { 
     'data' : 
     { 
     type: "POST", 
     url : '/ajax.php', 
     dataType : 'json' 
     } 
    }, 
    "plugins" : [ "search", "json_data" ] 
}); 

스크립트, AJAX를. php는 json으로 인코딩 된 배열을 반환하고 트리를 잘 채 웁니다.

그러나 ajax.php (예 : 빈 배열)에 의해 반환 된 데이터가없는 경우이를 어떻게 확인하고 적절하게 처리 할 수 ​​있습니까? 예를 들어 #jstree에 메시지를 입력하면 데이터가 없음을 알 수 있습니다.

아약스 구문은 이상하게 보입니다.하지만 위 코드는 실제로 아약스를 통해 데이터를 가져 오는 관점에서 작동합니다. 그것은 done() 또는 이에 상응하는 사람이 반환 된 내용을 확인할 수있는 정상적인 jquery에서 사용할 수 없으므로 이상하게 보입니다.

답변

1

자신에게 유연성을주기 위해 자체 아약스 호출을 작성하고 JSON 데이터를 변수에 넣은 다음이 변수를 JSTree 초기화에 전달합니다. 따라서 다음과 같이 할 수 있습니다.

var jsTreejsonData = $.ajax({ 
    // Your Ajax here 
}); 

if (jsTreejsonData) 
{ 
    var jsTreeConfig = { 
     core: { 'data': jsTreejsonData }, 
     plugins: ['search'] 
    } 

    $("#jstree").jstree(jsTreeConfig); 
} 
else 
{ 
    //Blank response handling goes here 
}