当前位置:Gxlcms > asp.net > aspx后台传递Json到前台的两种接收方法推荐

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

时间:2021-07-01 10:21:17 帮助过:26人阅读

第一种:前台接收

  1. dataType: "json",
  2. success: function (data)
  3. {
  4. var varReceiver = data;
  5. }
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="echart2.aspx.cs" Inherits="RTC.echart2" %>
  2. <!DOCTYPE html>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title> </title>
  7. <!-- 引入 ECharts 文件 -->
  8. <script src="scripts/echarts.common.min.js"></script>
  9. <script src="scripts/jquery-1.10.2.min.js"></script>
  10. <script src="scripts/json2.js"></script>
  11. </head>
  12. <body>
  13. <form id="form1" runat="server">
  14. <!-- 为 ECharts 准备一个具备大小(宽高)的Dom -->
  15. <div id="main" style="width:1000px;height:400px;">
  16. </div>
  17. <script type="text/javascript">
  18. var varAxis;
  19. var varSeries;
  20. //var varRtcNO = $("#txtHid").val();
  21. var varRtcNO = "35000002818";
  22. var jdata;
  23. var myChart = echarts.init(document.getElementById('main'));
  24. // 显示标题,图例和空的坐标轴
  25. myChart.setOption({
  26. title: {
  27. text: '温度曲线图'
  28. },
  29. tooltip: {
  30. trigger: 'axis',
  31. axisPointer: {
  32. animation: false
  33. },
  34. formatter: function (params) {
  35. return params[0].name + '<br />温度:' + params[0].value + '°C';
  36. }
  37. },
  38. legend: {
  39. data: ['温度']
  40. },
  41. xAxis: {
  42. data: []
  43. },
  44. yAxis: {
  45. axisLabel: {
  46. formatter: '{value} °C'
  47. },
  48. min: 18,
  49. max:30
  50. },
  51. series: [{
  52. name: '温度',
  53. type: 'line',
  54. smooth: true,
  55. data: []
  56. }]
  57. });
  58. // 异步加载数据
  59. $.ajax({
  60. type: "post",
  61. url: "getrtchistorydata.ashx?rtcno=" + varRtcNO,
  62. dataType: "json",
  63. success: function (data) {
  64. var varReceiver = data;
  65. //var varReceiver = jQuery.parseJSON(data);
  66. var varAxis=new Array() ;
  67. var varSeries = new Array(varReceiver.Count[0].total);
  68. for (var i = 0; i < varReceiver.Count[0].total; i++) {
  69. varAxis.push(varReceiver.Rows[i].RecordTime);
  70. varSeries[i] = varReceiver.Rows[i].RoomTemp;
  71. }
  72. // 填入数据
  73. myChart.setOption({
  74. xAxis: {
  75. data: varAxis
  76. },
  77. series: [{
  78. //根据名字对应到相应的系列
  79. name: '温度',
  80. data: varSeries
  81. }]
  82. });
  83. },
  84. error: function (XMLHttpRequest, textStatus, errorThrown) {
  85. alert(errorThrown);
  86. }
  87. });
  88. </script>
  89. </form>
  90. </body>
  91. </html>

第二种:前台接收

  1. dataType: "text",
  2. success: function (data) {
  3. //var varReceiver = data;
  4. var varReceiver = jQuery.parseJSON(data);
  5. 。。。。。
  6. }

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

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. using System.Linq;
  6. using System.Web;
  7. namespace RTC
  8. {
  9. /// <summary>
  10. /// getrtchistorydata 的摘要说明
  11. /// </summary>
  12. public class getrtchistorydata : IHttpHandler
  13. {
  14. public void ProcessRequest(HttpContext context)
  15. {
  16. context.Response.ContentType = "text/plain";
  17. string strRTCNo = context.Request.QueryString["rtcno"].ToString();
  18. SqlConnection con = new SqlConnection("server=192.168.0.222;uid=sa;pwd=hiwits;database=CeShi_QingDao;Max Pool Size=2048;");
  19. 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);
  20. SqlDataAdapter da = new SqlDataAdapter(cmd);
  21. DataSet ds = new DataSet();
  22. da.Fill(ds);
  23. string stbList = "";
  24. stbList = "{\"Rows\":[";
  25. foreach (DataRow dr in ds.Tables[0].Rows)
  26. {
  27. stbList = stbList + "{ \"RecordTime\":\"" + dr[3].ToString() + "\",";
  28. stbList = stbList + " \"RoomTemp\":\"" + dr[1].ToString() + "\"},";
  29. }
  30. stbList = stbList.Substring(0, stbList.Length - 1);//去掉最后的一个逗号
  31. stbList = stbList + "],";
  32. stbList = stbList + "\"Count\":[{\"total\":" + ds.Tables[0].Rows .Count+ "}]";//用来记录一共返回了几条数据记录
  33. stbList = stbList + "}";
  34. context.Response.Write(stbList.ToString());
  35. }
  36. public bool IsReusable
  37. {
  38. get
  39. {
  40. return false;
  41. }
  42. }
  43. public void RetrunHistoryData()
  44. {
  45. }
  46. }
  47. }

以上这篇aspx后台传递Json到前台的两种接收方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

人气教程排行