【发布时间】:2015-12-28 22:45:18
【问题描述】:
我想在 d3.json 的帮助下从 primefaces 返回一个 JSON 到 d3,但它会抛出错误。
我的 primefaces 豆子,
@ManagedBean
@SessionScoped
public class JsonBean implements Serializable {
private static final long serialVersionUID = 1L;
JsonExample jse=new JsonExample();
public void prepareChartDate() {
RequestContext reqCtx = RequestContext.getCurrentInstance();
reqCtx.addCallbackParam("chartData",jse.createJson());
}
}
jse.createJson() 将json作为
{"A":10,"B":20,"C":30,"weekdays":["Sun","Mon","Tues"]}
我在 .xhtml 文件中调用的 d3js 代码是
<script src="http://d3js.org/d3.v3.js"></script>
<script>
var data;
d3.json("#{jsonBean.prepareChartDate()}",function(error, json) {
if (error) return console.warn(error);
data = json;
console.log(data);
//console.log("hello");
});
</script>
当我在控制台中打印时,萤火虫会出错。
【问题讨论】:
-
与错误状态一样,您的 JSON 中存在语法错误。 {"A":10,"B":20,"C":30 应该是 {"A":"10","B":"20","C":"30"
-
@EmilKaminski :我将 JSON 更改为 this,
{"A":"10","B":"20","C":"30","weekdays":["Sun","Mon","Tues"]},但后来我也收到了这个异常,missing ) after argument list d3.json("{"A":"10","B":"20","C":"30","weekdays":["Sun","Mon","Tues"]}",function(...在萤火虫中,d3.json 函数有什么问题或者我需要如何调用从 d3 到 jsf 的 ajax 请求。 -
我不是 d3 方面的专家,但从我在文档中可以看到,d3.json 方法的第一个参数是 json 文件的 url,而不是 json 输出本身,比如:d3.json("path/to/file.json", function(error, json) {...
-
@EmilKaminski 谢谢,我实际上在 xhtml 中遇到了 JSF 语法问题,我可以从 d3.json 函数调用 servlet 但是,
#{jsonBean.prepareChartDate()}这给了我错误。我们可以混合JSF 中的 servlet?如果是,你能提供任何链接或建议吗? -
这是一个链接,有人将 json 数据粘贴到 highchart 中,也许它可以提供帮助:stackoverflow.com/questions/16414903/…
标签: json jsf primefaces d3.js