aspx后台传递Json到前台的两种接收方法

63 篇文章 0 订阅

第一种:前台接收 dataType: "json",
                success: function (data) {
                    var varReceiver = data;

        。。。。。。。。。

                      }

复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="echart2.aspx.cs" Inherits="RTC.echart2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title> </title>
    <!-- 引入 ECharts 文件 -->
    <script src="scripts/echarts.common.min.js"></script>
    <script src="scripts/jquery-1.10.2.min.js"></script>
    <script src="scripts/json2.js"></script>
</head>
<body>
<form id="form1" runat="server">

<!-- 为 ECharts 准备一个具备大小(宽高)的Dom -->
<div id="main" style="width:1000px;height:400px;">

</div>

<script type="text/javascript">

        var varAxis;
        var varSeries;
        //var varRtcNO = $("#txtHid").val();
        var varRtcNO = "35000002818";
        var jdata;

        var myChart = echarts.init(document.getElementById('main'));
        // 显示标题,图例和空的坐标轴
        myChart.setOption({
            title: {
                text: '温度曲线图'
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    animation: false
                },
                formatter: function (params) {
                    return params[0].name + '<br />温度:' + params[0].value + '°C';
                }
            },
            legend: {
                data: ['温度']
            },
            xAxis: {
                data: []
            },
            yAxis: {
                axisLabel: {
                    formatter: '{value} °C'
                },
                min: 18,
                max:30
            },
            series: [{
                name: '温度',
                type: 'line',
                smooth: true,
                data: []
            }]
        });
        // 异步加载数据
        $.ajax({
            type: "post",
            url: "getrtchistorydata.ashx?rtcno=" + varRtcNO,
            dataType: "json",
            success: function (data) {
                var varReceiver = data;
                //var varReceiver = jQuery.parseJSON(data);
                var varAxis=new Array() ;
                var varSeries = new Array(varReceiver.Count[0].total);
                
                for (var i = 0; i < varReceiver.Count[0].total; i++) {
                    varAxis.push(varReceiver.Rows[i].RecordTime);
                    varSeries[i] =  varReceiver.Rows[i].RoomTemp;
                }
                // 填入数据
                myChart.setOption({
                    xAxis: {
                        data: varAxis
                    },
                    series: [{
                        //根据名字对应到相应的系列
                        name: '温度',
                        data: varSeries
                    }]
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
       
    </script>
</form>
</body>
</html>
复制代码

 第二种:前台接收

 dataType: "text",
                success: function (data) {
                    //var varReceiver = data;
                    var varReceiver = jQuery.parseJSON(data);

。。。。。

}

两者统一的后台 一般处理程序ashx:

复制代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace RTC
{
    /// <summary>
    /// getrtchistorydata 的摘要说明
    /// </summary>
    public class getrtchistorydata : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            string strRTCNo = context.Request.QueryString["rtcno"].ToString();

            SqlConnection con = new SqlConnection("server=192.168.0.222;uid=sa;pwd=hiwits;database=CeShi_QingDao;Max Pool Size=2048;");
            SqlCommand cmd = new SqlCommand("select RtcNO,RoomTemp,InstallPlace,convert(varchar,RecordTime,120) as RecordTime,systime  from RTCHistory where RtcNO='" + strRTCNo + "' order by InstallPlace,RecordTime", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);

            string stbList = "";
            stbList = "{\"Rows\":[";
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                stbList = stbList + "{ \"RecordTime\":\"" + dr[3].ToString() + "\",";
                stbList = stbList + " \"RoomTemp\":\"" + dr[1].ToString() + "\"},";
            }
            stbList = stbList.Substring(0, stbList.Length - 1);//去掉最后的一个逗号

            

            stbList = stbList + "],"; 
            stbList = stbList + "\"Count\":[{\"total\":" + ds.Tables[0].Rows .Count+ "}]";//用来记录一共返回了几条数据记录
           
            stbList = stbList + "}";

            context.Response.Write(stbList.ToString());
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

        public void RetrunHistoryData()
        {


        }
    }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值