2014-07-21 106 views
1

嘗試使用來自官方站點的示例代碼從sharepoint列表填充js樹。我是JS和REST的新手。請指點什麼是錯的代碼,因爲我在警告窗口和空樹從Sharepoint列表中填充jsTree

<div id="ajaxtree"></div> 
<script> 
    $('#ajaxtree').jstree({ 
     'core': { 
      'data': { 
       'url': "http://SPSITE/sites/tree/_api/lists/getbytitle('deps')/items", 
       'data': function (node) { 
        alert(node.Title); 
        return { 'id': node.id }; 
       } 
      } 
     } 
    }); 
</script> 
+0

您可以使用chrome檢查器或快速骯髒的方式檢查網絡流量和響應數據,將'http :// SPSITE/sites/tree/_api/lists/getbytitle('deps')/ items'在你的問題 –

+0

中發現Sharepoint以XML格式返回數據,而jsTree需要使用JSON。是否可以在REST請求中設置數據格式? – Anton

回答

0

如果您需要在JSON數據,你可以使用jQuery $ .getJSON(獲得‘underfined’),或者你可以修改請求內容類型和標題。要修改$就請求,使用以下命令:

​​

實際上,我不知道如何在jstree API內做到這一點(以便只使用URL就像他們的例子),但我知道您可以檢索JSON數據並將其作爲「數據」鍵的值傳遞給jstree構造函數

+0

我已將代碼更改爲以下內容: $('#tree').jstree({ 'core': { 'data': { 'url': "http://SPSITE/sites/tree/Shared%20Documents/dull.txt", type: "GET", headers: { "accept": "application/json;odata=verbose", }, 'data': function (node) { return { 'id': node.id }; } } } }); Anton

+0

dull.txt文件包含來自jsTree示例的數據: {「id」:「ajson1」,「parent」:「#」,「text」:「簡單根節點」 }, {「id」:「ajson2」,「parent」:「#」,「text」:「根節點2」}, {「id」:「ajson3」,「parent」:「ajson2」文本「:」孩子1「}, {」id「:」ajson4「,」parent「:」ajson2「,」text「:」Child 2「} 現在我可以看到相同的數據返回請求正文,但樹保持空... – Anton