我正在嘗試使用帶有asp.net mvc的jquery flot圖形插件。我試圖動態從JsonResult中提取數據以填充圖形。ASP.NET MVC JsonResult和JQuery flot
我的問題是,我似乎無法得到從正確的格式JsonResult返回的數據。
這裏是我的服務器端代碼:
public ActionResult JsonValues()
{
IList<IDictionary<string, int>> listofvalues = new List<IDictionary<string, int>>();
IDictionary<string, int> values1 = new Dictionary<string, int>();
values1.Add("2003", 10882);
values1.Add("2002", 10383);
values1.Add("2001", 10020);
values1.Add("2000", 9762);
values1.Add("1999", 9213);
values1.Add("1998", 8720);
IDictionary<string, int> values3 = new Dictionary<string, int>();
values3.Add("2003", 599);
values3.Add("2002", 510);
values3.Add("2001", 479);
values3.Add("2000", 457);
values3.Add("1999", 447);
values3.Add("1998", 414);
listofvalues.Add(values1);
listofvalues.Add(values3);
JsonResult result = new JsonResult { Data = listofvalues };
return result;
}
,這裏是我的客戶端代碼:
$(function() {
$.getJSON("/path/to/JsonValues", function(data) {
var plotarea = $("#plot_area");
$.plot(plotarea, data);
});
});
注意,下面的客戶端代碼工作正常:
$(function() {
var points = [
[[2003, 10882],
[2002, 10383],
[2001, 10020],
[2000, 9762],
[1999, 9213],
[1998, 8720]],
[[2003, 599],
[2002, 510],
[2001, 479],
[2000, 457],
[1999, 447],
[1998, 414]]
];
var plotarea = $("#plot_area");
$.plot(plotarea, points);
});
鑑於上述工作正常,似乎它只是正確格式化返回的JsonResult的問題。我怎樣才能做到這一點?字典列表是要返回的最佳類型,還是應該使用其他內容?或者是否有JavaScript中的函數,我應該用它來正確地格式化數據?
看起來像一個非常簡單的事情,但我不能完全得到它的工作。
我第一次使用ŧ他的答案爲我的程序,但我發現了一個不同的更好的解決方案如下:http://stackoverflow.com/a/19114827/605586 – Thomas