2011-04-20 88 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