Intereting Posts
Почему php-итерация по ссылке возвращает дубликат последней записи? Как я могу рандомизировать массив на PHP, предоставив семя и получив тот же порядок? Автоматическое обновление нескольких разделов с помощью JQuery Проверьте, существует ли изображение на удаленном URL-адресе Когда я должен использовать CMS для создания веб-сайта с нуля? Публиковать поток из приложения – для не зарегистрированных пользователей, используя Graph API, php SDK Magento Connect Manager & ftp записывает разрешения на файл Расширение Symfony2 Twig Как создавать видео с изображений с помощью php? Как использовать php, который варится? Какие шаблоны я мог бы использовать в коде, чтобы упростить перевод на другой язык программирования? Получение последнего МБ файла с помощью cURL Zend ферма работает Doubt2 Проверьте, задана ли переменная, а затем повторите ее, не повторяя? Ошибка ввода формы входа в PHP

Дерево FuelUX: как установить источник данных с источником json?

Я пытаюсь установить источник данных json для дерева FuelUX. Я создал файл php, который echos json_encoded массив, и результат выглядит примерно так:

[{"name": "South Africa", "type": "folder", "AdditionalParameters": {"id": "1"}}]

Ниже приведен фрагмент javascript:

jQuery(document).ready(function (e) { var DataSourceTree = function (options) { this.url = options.url; } DataSourceTree.prototype.data = function (options, callback) { var self = this; var $data = null; var param = null if (!("name" in options) && !("type" in options)) { param = 0; //load the first level } else if ("type" in options && options.type == "folder") { if ("additionalParameters" in options && "children" in options.additionalParameters) { param = options.additionalParameters["id"]; } } if (param != null) { $.ajax({ url: this.url, data: 'id=' + param, type: 'POST', dataType: 'json', success: function (response) { if (response.status == "OK") callback({ data: response.data }) }, error: function (response) { console.log(response); } }) } }; $('#location-tree').tree({ dataSource: new DataSourceTree({ url: '/do_json/get_location_tree' }), multiSelect: false, }); }); 

Пожалуйста, помогите, если вы знаете, что мне не хватает или что-то не так, поскольку в настоящее время ничего не возвращается.

Ваша реализация не считывает данные так, как должна – если вы хотите, чтобы это сработало, вам нужно изменить несколько вещей:

 DataSourceTree.prototype.data = function (options, callback) { var self = this; var $data = null; var param = null if (!("name" in options) && !("type" in options)) { param = 0; //load the first level } else if ("type" in options && options.type == "folder") { if ("additionalParameters" in options && "children" in options.additionalParameters) { param = options.additionalParameters["id"]; } } if (param != null) { $.ajax({ url: this.url, data: 'id=' + param, type: 'POST', dataType: 'json', success: function (response) { callback(response) }, error: function (response) { console.log(response); } }) } }; 

См. Измененную функцию успеха вызова ajax.

Это связано с тем, что ваша текущая реализация ожидает данных в этом формате:

 [{status: "OK", data: [{"name":"South Africa","type":"folder","additionalParameters":{"id":"1"}}] }]