2014-05-24 6 views
1

jqTree의 PHP 서버에서 JSON 데이터를로드하려고합니다. 나는이 같은 "데이터 URL"를 사용하는 것을 시도했다 : menu_content.ajax.php에 의해 geratedjqtree 및 JSON이 URL에서로드

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

와 JSON 것은 :

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

내가 자바 스크립트 코드에서 직접이 JSON을 넣을 때 , 작동하지만 PHP/JSON 방식으로는 작동하지 않습니다. jqtree 다운로드 파일에있는 예제는 mockjax를 더 복잡하게 사용하고있다. 내가 PHP에서 두 개의 서로 다른 헤더를 사용하는 것을 시도했다

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

:

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

을하지만 함께 및없이 작동하지 않습니다

다시로드 기능도 작동하지 않습니다.

확실히 뭔가 잘못하고 있지만 확실하지 않습니다.

우리는 바로 여기에 자바 스크립트 코드에서 JSON 사용하여 응용 프로그램을 볼 수 있습니다

: http://naeco.free.fr/wfr/editionMenu/menuWilly_JSON-in-file.html 여기의 PHP JSON과 : http://naeco.free.fr/wfr/editionMenu/menuWilly.html

방화범은 모두가 OK라고 : 콘솔, 오류없이, 그리고는 GET 쿼리주고있는 뭔가 괜찮아.

답장을 보내 주셔서 감사합니다.

+0

PHP에서 콘텐츠 유형을 'json'으로 설정해야합니다. – user3091574

+0

답장을 보내 주셔서 감사합니다. 나는 나의 질문 - 포스트에서 변화 한대로 둘 다 시도되었다, 그러나 그것은 작동하지 않는다. – Naeco

답변

1

설명은 JSON이 유효하지 않다는 것입니다.

또한이 버전 것이 중요합니다 :

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

작업 또한 라벨 주위에 따옴표없이, 자바 스크립트 코드에서 직접이지만 loadURL 매개 변수로 PHP의 때 작동하지 않는 경우 . 이를 위해 잘 형성된 JSON이 필요합니다 :

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