2017-09-27 13 views
1

私のLaravel 5.5アプリでAjaxを使用して遅延ロードでJsTreeを設定するには、このguideに従っています。JsTreeとLaravel Trouble

これは私のコントローラである:https://gist.github.com/aaronr0207/7fa0a38f40bfd2f728a15d655254f82d

マイビュー: https://gist.github.com/aaronr0207/f87720263e3d6026b04b00c08bae5cb2

マイJsTreeクラスは、私がどんな変更をしなかったまったく同じです。

は、実際に私はクロームのコンソールに次のエラーを取得しています:

d9973d3e-1476-4453-a013-9e9c8430bcba:1 Uncaught TypeError: Cannot read property 'children' of undefined

enter image description here

をしかし、私は応答をダンプするとき(TreeViewControllerデータメソッドの最後に)それをデバッグする:

 dd(response()->json($tree->build())); 

作品...

enter image description here

私の応答は次のようになります(私はときにそれを死ぬダンプ):

enter image description here

任意のアイデア?私はシンプルなjson_encode($tree->build)はエラーがない返す場合、それは空のツリーを示しています...と応答は次のようになります:あなた

EDIT1ありがとう

enter image description here

EDIT2:ですそれ!

$('#jstree').jstree({ 
    'core': { 
     'data': { 
      'url': function (node) { 
       return '{!! route('tree.data') !!}' ; 
      }, 
      'data': function (node) { 
       console.log(node); 
       return {'id': node.id}; 
      } 
     } 
    } 
}); 

しかし、今、私は次のレベルのディレクトリをフェッチするとき、彼らは別のdirectorieを持っている場合、それはせずに失敗した内側:しかし、今、新たな問題がある...私がしたすべては、それがコールバックを持つURL文字列を変更した解決するためにエラー:

enter image description here

Iの場合:

enter image description here

にTest1内容は以下のとおりです。 TEST1/TEST2フォルダを削除、それが示す作品:

enter image description here

同じことを、私はtxtファイルを削除すると...今何が起こっていますか?たぶんこれは新しい質問ですので、私の解決策を主な問題に掲示し、私はそれを受け入れます。

+0

'id'パラメータを' uploads/general/test1'に設定してapiを手動で呼び出すと、どのような応答が得られますか? –

答えて

0

はそれを得ました!私が解決したのは、コールバックを使用してURL文字列を変更することでした:

$('#jstree').jstree({ 
    'core': { 
     'data': { 
      'url': function (node) { 
       return '{!! route('tree.data') !!}' ; 
      }, 
      'data': function (node) { 
       console.log(node); 
       return {'id': node.id}; 
      } 
     } 
    } 
}); 
0

あなたの名前付きルートが正しく動作していないと思われます。次のようにTreeController.phpでは、ルートtree/routeを変更:

Route::get('tree/route', '[email protected]')->name('tree.data'); 
+0

同じ結果を試してみてください – aaron0207

0

これは、応答のエスケープによって引き起こされた可能性があります。 idが設定されている場合はdd($request->id)できますか?

+0

はい、ここに回答があります:https://imgur.com/a/oIyLW何か考えていますか? – aaron0207