Ajax调用将数据转换为高图

时间:2014-12-18 07:05:30

标签: c# jquery asp.net json highcharts

我正在尝试使用每秒更新一次的高级图表制作样条图表。 数据来自数据库。

我的剧本是:

 <script>
    $(function () {
        var c = [];
        var d = [];
        $('#container').highcharts({
            chart: {
                type: 'spline',
                events: {
                    load: getData
                }
            },
            title: {
                text: 'PUNCHING DETAILS'
            },
            xAxis: {
                categories: c
            },
            yAxis: {
                title: {
                    text: 'punching'
                },
                labels: {
                    formatter: function () {
                        return this.value ;
                    }
                }
            },
            tooltip: {
                crosshairs: true,
                shared: true
            },

            series: [{
                name: 'PUNCHING',                    
                data: d
            }]
        });
    });


    function getData() {
        alert("hi");
        $.ajax({
            url: "Default.aspx/GetData",
            dataType: 'json',
            success: function (data) {
                console.log(data)
                var categories = [];
                var seriesData = [];
                $.each(data, function (i, e) {
                    categories.push(i);
                    seriesData.push(parseInt(e));
                });
                chart.xAxis[0].setCategories(categories);
                chart.series[0].setData(seriesData);
                setTimeout(requestData, 1000);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) 
            { 
                alert(errorThrown); 
            },
            cache: false
        });
    }
</script>

cs代码是:

public partial class ajax_main_Testpages_Realtime_Graph_Default : System.Web.UI.Page
{
  [System.Web.Services.WebMethod()]
 public static string GetData()
 {
    String con1 = ConfigurationManager.ConnectionStrings["myConnectionString"].ToString();
    List<string> list_time = new List<string>();
    List<int> list_count = new List<int>();
    var serie_line_Dept = new { data = new List<object>() };
    string query = @"select item_count,entered_time p_time from st_request where rownum<=10";
    OdbcConnection connection = new OdbcConnection(con1);
    connection.Open();
    OdbcCommand cmdSelect = connection.CreateCommand();
    cmdSelect.CommandText = query;
    OdbcDataReader readerSelect = cmdSelect.ExecuteReader();
    while (readerSelect.Read())
    {
        serie_line_Dept.data.Add(new List<object>() { readerSelect["p_time"].ToString(), int.Parse(readerSelect["item_count"].ToString()) });

        list_time.Add(readerSelect["p_time"].ToString());
        list_count.Add(int.Parse(readerSelect["item_count"].ToString()));
    }
    JavaScriptSerializer oSerializer1 = new JavaScriptSerializer();
    return oSerializer1.Serialize(serie_line_Dept);
}
}

我收到此错误:意外的令牌&lt;。

不显示图表。 我在上面的代码中提到了here。 我是json和jquery的新手,我无法解决这个问题。 有人可以帮我这个吗?

提前致谢。

0 个答案:

没有答案