zoukankan      html  css  js  c++  java
  • Highcharts配合Jquery ajax 请求本页面 陈

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Highcharts Example.aspx.cs" Inherits="WebApp.Highcharts_Example" %>
    
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    		<title>Highcharts Example</title>
    
    		<script type="text/javascript" src="Scripts/jquery-1.8.3.min.js"></script>
    		<script type="text/javascript">
    		    $(function () {
    		        $(document).ready(function () {
    		            Highcharts.setOptions({
    		                global: {
    		                    useUTC: false
    		                }
    		            });
    
    		            var chart;
    		            chart = new Highcharts.Chart({
    		                chart: {
    		                    renderTo: 'container',
    		                    type: 'spline',
    		                    marginRight: 10,
    		                    events: {
    		                        load: function () {
    
    		                            // set up the updating of the chart each second
    		                            var series = this.series[0];
    		                            var LoadData = function () {
    
    
    		                                var drp = $("#drp").val()
    		                                $.ajax({
    		                                   
    		                                    url: 'Highcharts Example.aspx/getRandom',
    		                                    data: "{drp:"+drp+"}", 
    		                                    dataType: 'json',
    		                                    type: 'post',
    		                                    contentType: "application/json;charset=utf-8",
    		                                    success: function (data) {
    
    		                                        var x = (new Date()).getTime(); 
    		                                        var y = $.parseJSON(data.d).val;
    		                                        series.addPoint([x, y], true, true);
    
    		                                    },
    		                                    error: function () { alert('Error !'); }
    		                                });
    
    		                                //   alert($("#drp").val());
    		                                //		                                var x = (new Date()).getTime(), // current time
    		                                //                                        y = Math.random();
    		                                //		                                series.addPoint([x, y], true, true);
    		                            };
    		                            //LoadData();
    		                            setInterval(LoadData, 2000);
    		                        }
    		                    }
    		                },
    		                title: {
    		                    text: 'Live random data'
    		                },
    		                xAxis: {
    		                    type: 'datetime',
    		                    tickPixelInterval: 150
    		                },
    		                yAxis: {
    		                    title: {
    		                        text: 'Value'
    		                    },
    		                    plotLines: [{
    		                        value: 0,
    		                         1,
    		                        color: '#808080'
    		                    }]
    		                },
    		                tooltip: {
    		                    formatter: function () {
    		                        return '<b>' + this.series.name + '</b><br/>' +
                            Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
                            Highcharts.numberFormat(this.y, 2);
    		                    }
    		                },
    		                legend: {
    		                    enabled: false
    		                },
    		                exporting: {
    		                    enabled: false
    		                },
    		                series: [{
    		                    name: 'Random data',
    		                    data: (function () {
    		                        // generate an array of random data
    		                        var data = [],
                            time = (new Date()).getTime(),
                            i;
    
    		                        for (i = -19; i <= 0; i++) {
    		                            data.push({
    		                                x: time + i * 1000,
    		                                y: Math.random()
    		                            });
    		                        }
    		                        return data;
    		                    })()
    		                }]
    		            });
    		        });
    
    		    });
    		</script>
    	</head>
    	<body>
    <script src="Scripts/highcharts/highcharts.js"></script>
    <script src="Scripts/highcharts/modules/exporting.js"></script>
    
    <div id="container" style="min- 400px; height: 400px; margin: 0 auto"></div>
    
    	    <select id="drp" name="drp">
                <option>1</option>
                <option>2</option>
                <option>3</option>
            </select>
    
    	</body>
    </html>
    

     后台:

    using System.Web.Services;
    namespace WebApp
    {
        public partial class Highcharts_Example : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
    
            [WebMethod]
            public static string getRandom(string drp)
            {
    
                Random rm = new Random();
    
                int _drp = Convert.ToInt32(drp);
               // int drp =Convert.ToInt32(HttpContext.Current.Request.Params["drp"]);
    
                return "{ \"val\":" + rm.Next(100) * _drp + "}";
            }
        }
    }
    

     Highcharts模仿CPU动作,2秒一刷新。调用本页面方法,首先后台方法必须为静态的,还在ajax请求的时候contextType格式必须是如上,data传值,这个问题困扰很久以前传值都用data: { "drp": $("#drp").val() }这个格式要不老是报500错误,还有得到的数据格式,在后面必须加个d(不懂,调试时才发现),但是在调用本页面时不行。最好还是不在本页面做请求。

  • 相关阅读:
    homebrew 安装 mpv
    Spring JdbcTemplate 两种方法的区别
    git .gitignore失效的解决办法
    git 分支修改bug应用场景
    url编码实践
    escape encodeuri encodeURIComponent 区别
    mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
    服务器病毒问题解决- 阿里云 挖矿病毒,Circle_MI.png
    trim和replace的陷阱实践
    mysql 5.7.15 union order by 子查询排序不生效
  • 原文地址:https://www.cnblogs.com/Chareree/p/2857984.html
Copyright © 2011-2022 走看看