Как изменить ответ ajax перед созданием jsTree? - PullRequest
4 голосов
/ 30 августа 2011

Как я могу изменить ответ ajax перед созданием jsTree?Я хотел бы получить доступ к каждому идентификатору узла и добавить префикс к нему.На странице jsTree единственная подсказка заключается в следующем: функция получит два аргумента - загружаемый узел и функцию ". Мне нужно сделать это до того, как дерево действительно будет создано, чтобы избежать дублирования идентификатора в документе.

"json_data" : {
"ajax" : { 
  "type": "GET", 
  "url" : "tree.json" 
 }, 
"data" : function(node, func){
        //how to use that? 
}} 

Я ожидал получить здесь данные JSON, изменить их и вернуть? Но это взорвется.

1 Ответ

4 голосов
/ 10 сентября 2011

Я успешно манипулировал данными с помощью обратного вызова success в экземпляре jsTree. В моем случае я анализирую данные XML, возвращаемые в виде JSON из веб-метода .NET. Он должен работать для вашего случая аналогичным образом.

"ajax": {
  "type": "GET"
  "url": "tree.json",
  "success": function (x) {
    //manipulate string x to change id's here
    return x;
  }, ...

Другой метод заключается в использовании «полной» функции обратного вызова для манипулирования jsTree в его окончательном виде. Однако я не рекомендую это делать в случае дубликатов.

...