aspx后台传递Json到前台的两种接收方法推荐
程序员文章站
2023-12-16 13:01:40
第一种:前台接收
datatype: "json",
success: function (data)
{
var varreceiver =...
第一种:前台接收
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() { } } }
以上这篇aspx后台传递json到前台的两种接收方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。