Медленное уведомление сценария, скорее всего, относится не к реальному запросу, а к сценарию, который вы запускаете для обработки данных, полученных запросом. Это также может быть код jQuery, который анализирует ваш JSON.
Если вы опубликуете свой сценарий, который «манипулирует данными» (т. Е. Прокомментированная часть в вашем фрагменте), мы могли бы помочь в его оптимизации.
[Редактировать] Вы правы. Вы должны рассмотреть ленивую загрузку дерева. Сколько корневых узлов у вас обычно есть? Возможно, вам повезет, вытащив appendTo()
из цикла. Либо создайте весь HTML-код за один раз, либо выполните массивный appendTo()
, либо используйте промежуточный div, не присоединенный к DOM, для накопления узлов, а затем добавьте к основному элементу #tree
.
var tempDiv = $('<div></div>');
for (var i in data) {
tempDiv.append($(buildHierarchy(data[i]));
}
$("#tree").append(tempDiv);
$("#tree").treeview({ add: tempDiv }); //don't know if this works? Maybe tempDiv.children() ?