jqtree и JSON загружаются с URL

Я хочу загрузить данные JSON с сервера в PHP в jqTree . Я попытался использовать "data-url", как это:

$(function() {
$('#tree1').tree({
    //data: data,
    dataUrl: 'menu_content.ajax.php',
    autoOpen: true,
...

и JSON, сгенерированный menu_content.ajax.php:

[
    {
        label: 'node1',
        children: [
            {
                label: 'child1'
            },
            {
                label: 'child2'
            }
        ]
    },
    {
        label: 'node2',
        children: [
            {
                label: 'child3'
            }
        ]
    }
]

Когда я помещаю этот JSON непосредственно в код JavaScript, он работает, но не работает с PHP/JSON. В примере в загруженном файле jqtree используется mockjax, более сложный, как сказано в руководстве.

Функция перезагрузки тоже не работает:

$('#tree1').tree('loadDataFromUrl', 'menu_content.ajax.php');

Я попытался использовать два разных заголовка в PHP:

header('Content-Type: text/html; charset=utf-8');
or
header('Content-Type: application/json');

Но это не работает с и без.

Конечно, я делаю что-то не так, но я не вижу, что.

Мы можем увидеть приложение с JSON непосредственно в коде JavaScript здесь: http://naeco.free.fr/wfr/editionMenu/menuWilly_JSON-in-file.html и с php JSON здесь: http://naeco.free.fr/wfr/editionMenu/menuWilly.html

Firebug говорит, что все в порядке: в консоли нет ошибок, а запрос GET дает что-то в порядке.

большое спасибо за ответ.

1 ответ

Объяснение состоит в том, что JSON был недействительным.

Также важно отметить, что версия:

var data = [ { label: 'node1', children: [ { label: 'child1' }, { label: 'child2' } ] }, { label: 'node2', children: [ { label: 'child3' } ] } ];

работать, когда это прямо в коде javascript, также без кавычек вокруг метки, но не работать, когда речь идет о PHP в качестве параметра loadURL. Для этого нам нужен правильно сформированный JSON:

[
{
"label": "node1",
"children": [
{
"label": "child1"
},
{
"label": "child2"
}
]
},
{
"label": "node2",
"children": [
{
"label": "child3"
}
]
}
]
Другие вопросы по тегам