7

私は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, 0], [1, 1]] ]";
    //return Json(s, JsonRequestBehavior.AllowGet);
    StringBuilder sb = new StringBuilder();
    sb.Append("[[0, 0], [1, 1]]");
    return Json("[" + sb.ToString() + "]", JsonRequestBehavior.AllowGet);
}

インデックスで警告している場合でも、空のグラフしか得られません。完全にフォーマットされた JSON データを取得します。

私は何を間違っていますか?

4

1 に答える 1

11

コントローラーで手動で 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>
于 2010-02-18T08:52:45.207 に答える