2014-01-15 2 views
0

Я работаю с dhtmlxtree и у меня возникают проблемы с загрузкой данных из json, переданных ему внешним скриптом. Я получаю ошибку ниже. Есть идеи? Благодаря!dhtmlxtree XML относится к несуществующим родителям

ErrorType: LoadXML 
Error: Incorrect JSON 

Мой HTML выглядит следующим образом:

<body> 
    <div id="treeBox" style="width: 200px; height: 200px; overflow: auto;"></div> 
    <script> 
    jQuery(document).ready(function() { 
     tree = new dhtmlXTreeObject("treeBox", "100%", "100%", 0); 
     tree.setSkin('dhx_skyblue'); 
     tree.setImagePath("../sma-js/dhtmlxtree/img/csh_bluebooks/"); 
     tree.setXMLAutoLoading("sma-php/loadcustomers.php"); 
     tree.setDataMode("json"); 
     //load first level of tree; 
     tree.loadJSON("sma-php/loadcustomers.php?id=PNR0000000001"); 
    }); 

Когда я вручную запустить сценарий, то JSON возвращается выглядит следующим образом:

[{"phys_addr_state":"ACT","phys_addr_postcode":"2167","install_address":"2 Eade Street - Radiative, John"},{"phys_addr_state":"NSW","phys_addr_postcode":"2263","install_address":"69 The Corso - Flare, Steve"}, {"phys_addr_state":"NSW","phys_addr_postcode":"2112","install_address":"17 Price Street - Solar, Anita"},{"phys_addr_state":"QLD","phys_addr_postcode":"4001","install_address":"71 Eagle Street - Corona, Linda"},{"phys_addr_state":"VIC","phys_addr_postcode":"3053","install_address":"15 Lygon Street - Photon, Marco"}] 

Вопрос Я замечаю, структура/иерархия моего JSON. Он содержит элемент на запись, в котором другие примеры, которые я вижу на сайте dhtml, показывают «иерархическую» запись JSON. Мой закодировать на сервере выполняется:

echo json_encode($data); 

Другой DHTML пример JSON (для сравнения) является:

{ id: 0, item: [{ id: 1, text: "1111" }, { id: 2, text: "222222", item: [{ id: "21", text: "child" }] }, { id: 3, text: "3333" }]} 

Есть другой способ кодирования SQL записи, согласно которому все записи же состояние будет сгруппировано вместе под одной и той же записью на «id: 2 item above» на пример выше?

Мой заголовок включает в себя следующее:

<script src="../sma-js/d3.v3/d3.v3.min.js" charset="utf-8"></script> 
<link rel="stylesheet" type="text/css" href="../sma-js/dhtmlxtree/css/dhtmlxtree.css"> 
<script src="../sma-js/dhtmlxtree/js/dhtmlxcommon.js"></script> 
<script src="../sma-js/dhtmlxtree/js/dhtmlxtree.js"></script> 
<script src="../sma-js/dhtmlxtree/js/dhtmlxtree_json.js"></script> 

ответ

0

Вы должны использовать специальный формат JSON, так же, как и в DHTMLX демоса. Однако было бы проще и быстрее использовать dhtmlxConnector (бесплатно для использования с компонентами dhtmlx) вместо пользовательских сценариев. Коннектор помогает генерировать вывод XML, и все, что вам нужно, - это настроить поля таблицы для дерева XML.