Próbuję wypełnić JSTree danymi JSON, które otrzymuję z usługi (która jest nazywana przy użyciu ajax). Jednak otrzymuję komunikat o błędzie "Ani dane, ani ustawienia ajax nie jest dostarczany" w pliku jquery.jstree.js. Z tego powodu JSTree wyświetla tylko ładujący się gif.Wypełnianie JSTree danymi JSON uzyskanymi w AJAX
kod AJAX (editted spróbować ustawienia json do testu lokalnej zmiennej, a następnie powrócić testu)
function getJSONData() {
var test;
$
.ajax({
async : true,
type : "GET",
url : "/JavaTestService/rs/TestService/MyFirstTestService?languageCode=en_US&version=2",
dataType : "json",
success : function(json) {
test = json;
},
error : function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
test = "error";
}
});
return test;
}
kod JSTree
var jsonData = getJSONData();
createJSTrees(jsonData);
function createJSTrees(jsonData) {
$("#supplierResults").jstree({
"json_data" : {
"data" : jsonData
},
"plugins" : [ "themes", "json_data", "ui" ]
});
Po pewnym debugowania, odkryłem, że jsonData jest niezdefiniowana po przekazaniu do metody createJSTrees. Czy poprawnie odczytuję te dane w kodzie Ajax? Z góry dziękuję
Musisz ustawić asynchronizację z powrotem na "fałsz", aby ta metoda zmiennych lokalnych działała. – Adam