我正在尝试学习如何使用
Flot,我认为你的例子是一个非常好的,简单的,非常容易理解的代码,所以我一直在尝试实现它,但这里是我在index.aspx中的代码:
$(function () { $.getJSON("../../Home/JsonValues",function (data) { alert('json: ' + data + ' ...'); var plotarea = $("#plot_area"); $.plot(plotarea,data); //$.plot(plotarea,[ [[0,0],[1,1]] ]); }); });
这是HomeController中的代码:
public ActionResult JsonValues() { //string s = "[ [[0,1]] ]"; //return Json(s,JsonRequestBehavior.AllowGet); StringBuilder sb = new StringBuilder(); sb.Append("[[0,1]]"); return Json("[" + sb.ToString() + "]",JsonRequestBehavior.AllowGet); }
我得到的只是一个空图,尽管在索引中发出警报.我得到了完美的格式化JSON数据.
我究竟做错了什么?
解决方法
我建议你不要在控制器中手动创建JSON.试试这个:
public ActionResult JsonValues() { return Json( new[] { new[] { 0,0 },new[] { 1,1 } },JsonRequestBehavior.AllowGet); }
在视图中:
<div id="plot_area" style="width:600px;height:300px;"></div> <script type="text/javascript"> $(function() { $.getJSON('../../Home/JsonValues',function (data) { $.plot($('#plot_area'),[data]); }); }); </script>