Возникают некоторые проблемы с получением JSTree для работы с IE7 и 8. Он отлично работает на IE9, FF4 и Chrome.
Он загружает данные через плагин JSON_DATA, поддерживаемый действием контроллера ASP.NET MVC3.
Проблема в том, что данные не загружаются в дерево на IE7-8.Я могу убедиться, что запрашиваемое действие запрашивается, и в функции ошибки не генерируется ошибка или, по крайней мере, она не перехватывается.
$("#changeGroupTree")
.bind("select_node.jstree", function(event, data) {
// `data.rslt.obj` is the jquery extended node that was clicked
var id = data.rslt.obj.attr("id");
$("input[name='changeGroup_GroupId']").val(id)
.siblings("span")
.addClass("field-validation-valid")
.removeClass("field-validation-error");
$.ajax({
type: "GET",
url: "/api/group/gettree",
data: { groupId: id },
dataType: "JSON",
success: function(data, status, jqXHR) {
$("#changeGroup_SelectedGroup").html(data[0]);
},
error: function(jqXHR, textStatus, errorThrown) {
var data = $.parseJSON(jqXHR.responseText);
$().toastmessage("showErrorToast", data.ErrorMessage);
}
}); // end ajax
}) // end bind
.bind("loaded.jstree", function(event, data) {
})
.jstree({
core: {
animation: 200
},
plugins: ["themes", "json_data", "ui"],
themes: {
theme: "default",
dots: "true",
icons: "true"
},
ui: {
select_limit: 1
},
json_data: {
ajax: {
url: "/api/group/getgroups",
data: function(node) {
return { customerId: CUSTOMER_ID, parentId: (node.attr) ? node.attr("id") : "00000000-0000-0000-0000-000000000000" };
},
error: function(jqXHR, textStatus, errorThrown) {
alert("JSTree Error when getting Group data");
}
}
}
}); // end jstree
Вот json, который возвращается с сервера
[{"attr": {"id": "d9cc2cb9-fbc4-4726-a9b1-9eee00f1e2b8"}, "data": "MTM", "state": "closed", "icon": "Group"}]
Я что-то упустил, чтобы привязать данные в старых IE?
Спасибо,