highcharts異步獲取數據


頁面異步代碼

$(function () {
            var chart_validatestatics;
            $(document).ready(function () {

                var options_validatestatics = {
                    chart: {
                        renderTo: 'container_validatestatics',
                        type: 'column'
                    },
                    title: {
                        text: '驗票分析'
                    },
                    subtitle: {
                        text: 'tourol.cn'
                    },
                    xAxis: {
                },
                yAxis: {
                    title: {
                        text: '人數'
                    }
                },
                plotOptions: {
                    bar: {
                        dataLabels: {
                            enabled: true
                        }
                    }
                },
                tooltip: {
                    formatter: function () {
                        return '<b>' + this.x + '</b><br/>' + this.series.name + ': ' + this.y + '人';
                    }
                },
                credits: {
                    enabled: false
                },
                series: [{
                    name: "驗票用戶",
                    width: 3
                }]
            }

            $.get("/ajaxhandler/dataupdate.ashx?operate_type=validatestatics", function (data) {
                var xatrnames = [];
                var yvalidators = [];
                for (var i = 0; i < data.rows.length; i++) {
                    xatrnames.push([
                            data.rows[i].atrname
                        ]);
                    yvalidators.push([
                            data.rows[i].atrname,
                            parseInt(data.rows[i].nums)
                        ]);
                }
                alert(xatrnames + yvalidators);
                options_validatestatics.xAxis.categories = xatrnames
                options_validatestatics.series[0].data = yvalidators;
                chart_validatestatics = new Highcharts.Chart(options_validatestatics);
            });
        });
    });

 

這里要注意的是:x軸數組定義好后,定義y軸數據的時候要把對應在x軸上的值也push到數組里,不然會造成無法顯示的情況

 

對應的在ajaxhandler中,拼接字符串並返回即可

string json = "{\"rows\":[";
        for (int i = 0; i < datas.Rows.Count; i++)
        {
            json += "{\"atrname\":\"" + datas.Rows[i]["name"] + "\",\"nums\":\"" + datas.Rows[i]["nums"] + "\"},";
        }
        json = json.TrimEnd(',');
        json += "]}";
        context.Response.Write(json);
        context.Response.Flush();
        context.Response.End();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM