Tôi đang cố gắng điền một JSTree với dữ liệu JSON mà tôi nhận được từ một dịch vụ (được gọi là sử dụng ajax). Tuy nhiên, tôi nhận được thông báo "Không có dữ liệu và cài đặt ajax được cung cấp lỗi" trong tệp jquery.jstree.js. Bởi vì điều này JSTree chỉ hiển thị một gif tải.Populating một JSTree với dữ liệu JSON thu được trong AJAX
AJAX mã (ngồi biên tập để thử thiết json để kiểm tra biến địa phương, sau đó trở về thử nghiệm)
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;
}
đang JSTree
var jsonData = getJSONData();
createJSTrees(jsonData);
function createJSTrees(jsonData) {
$("#supplierResults").jstree({
"json_data" : {
"data" : jsonData
},
"plugins" : [ "themes", "json_data", "ui" ]
});
Sau khi một số lỗi, tôi đã phát hiện ra rằng jsonData không được xác định khi được chuyển tới phương thức createJSTrees. Tôi có lấy đúng dữ liệu đó trong mã Ajax không? Cảm ơn trước
Bạn cần phải đặt async trở lại "false" cho phương pháp biến cục bộ này hoạt động. – Adam