2011-04-20 81 views
0

我使用JStree插件在Freemarker中渲染一棵樹。 我寫了遞歸宏...其中有getJSON不工作?

<a href="#" onClick="myfunc(element)">myfile</a> 

元素就像是樹由控制器傳遞到Freemarker模板的Java對象。 每個元素都有類似名稱的某些屬性,並在

myFunc(element){ 
    $.getJSON("element",{data}, function(listdata){ //simplest form -not even called. 
     any alert code; 
    }); 
} 

現在,這是我與jQuery和jstree第一次體驗 ,我已經淚流滿面。

由於

+0

您的'{data}'必須存在問題。嘗試使用'.get()'而不是'$ .getJSON()'和inside,'alert(listdata);'來查看返回的信息是否有效'JSON' – Cybrix 2011-04-20 20:40:05

+0

你可以檢查:http:// stackoverflow .com/questions/6002325/getjson-not-working – Senator 2013-02-21 14:56:20

回答

1

$.getJSON確實Ajax請求,其中第一個參數是URL。

http://api.jquery.com/jQuery.getJSON/ - 「使用GET HTTP請求從服務器加載JSON編碼的數據。」

如果您想要從DOM解析JSON,您可以使用JSON.parse(<string here>)或者如果您希望獲取字符串的JSON對象,可以使用JSON.stringify(<obj here>)

http://json.org/js.html

您可能還需要在瀏覽器中打開了,開發者控制檯(在IE/Firefox的F12,右鍵單擊CTRL + SHIFT + J在Chrome/Safari瀏覽器),你可能會看到它試圖去http://element獲取JSON。

+0

不需要雙打。 +1 – 2011-04-20 20:48:27

+0

這是表示java樹中的元素。 我看到一個使用相同的文件夾樹顯示文件的示例。它包含 getJSON(「/ rootFolder」,{parentid:parentid},function(data){....}) 我必須做類似呈現我的元素的東西。 但jsTree用法不清楚。我被告知我不需要解析JSON,因爲getJSON也是這樣做的(搜索結果 - 隱式調用parseJSON,我記得)。 如果我寫錯了參數,而不是網址,數據,請建議。 – misha79 2011-04-20 20:58:42

+0

對凱文的提示,我也試過用單引號。如果那就是他的意思。 – misha79 2011-04-20 22:50:37