.net 返回前端json数据
来源:互联网 发布:淘宝 主营 在哪里填写 编辑:程序博客网 时间:2024/05/16 09:39
1.需求
允许.net后端创建json数据,通过response.write()方式动态的回应ajax请求数据,并通过js动态的刷新到页面上。
2.实现方法
2.1前端ajax对于数据的请求和返回json字符串的处理。
//前台获取后台测评参数信息文件jsonfunction get_data() { var type = "Get_Para_Info"; var year = $('.old_select select').eq(0).find('option:selected').text(); var season = $('.old_select select').eq(1).find('option:selected').text(); $.ajax({ type: 'get', url: '../new/ajax/ajaxHander.aspx?type=' + type + '&year=' + year + '&season=' + season, eache: false, success: function (reg) { var jsonobj = eval("{(" + reg + ")}"); var str; for (var i = 0; i < jsonobj.length; i++) { str += "<tr class=\"add_row\">"; str += "<td class=\"td1\">" + jsonobj[i].TCK_CATE + "</td>"; str += "<td class=\"td1\">" + jsonobj[i].WEIGHT + "</td>"; str += "<td class='del'>" + "</td>"; str += "</tr>"; } $('.box1 table tbody').append(str); }, error: function () { alert("未能查找到数据"); } }) }
2.2后端构建json字符串
//获取ajax操作类型信息_type = q("type");Get_Para_Info();
/// <summary>/// 返回前端json数据/// </summary>public void Get_Para_Info(){ int EVA_YEAR = int.Parse(q("year")); int EVA_SEASON = int.Parse(q("season")); Test_BUL.CPCSB bul = new Test_BUL.CPCSB(); DataTable dt = bul.GetModelList(EVA_YEAR, EVA_SEASON); StringBuilder jsonString = new StringBuilder(); if (dt.Rows.Count > 0) { int i = 0; jsonString.Append("["); for (; i < dt.Rows.Count - 1; i++) { jsonString.Append("{\"TCK_CATE\":\"" + dt.Rows[i]["TCK_CATE"].ToString() + "\","); jsonString.Append("\"WEIGHT\":" + "\"" + dt.Rows[i]["WEIGHT"].ToString() + "\"" + "},"); } jsonString.Append("{\"TCK_CATE\":\"" + dt.Rows[i]["TCK_CATE"].ToString() + "\","); jsonString.Append("\"WEIGHT\":" + "\"" + dt.Rows[i]["WEIGHT"].ToString() + "\"" + "},"); jsonString.Append("]"); } Response.Write(jsonString.ToString());}
3.一些需要注意的问题和解决方案
3.1就像我以前写的前端往后端传送json字符串一样,你也可能需要传送单个json实体和一组json实体,可能说在ajax中success对于返回的字符串的转为json就会有差异。
对于单个的实体字符串转换,我使用的方法是:var right = JSON.parse(reg);
实际上转换的方法有很多,在这一步遇到困难可以尝试多种方法,当然前提是你正确的接受到了json字符串数据。
3.2这一点教训其实和本章主题并不相关,只是我对于ajax中错误的一点体会。
ajax中的参数有一条为datatype,当你将其设为json后,如果返回的是后台查询错误的提示,例如response.write(“查询失败!”);ajax会认为返回的并不是预期的数据类型,进入error。
3.3这点体会算是在后面做别的模块发现的小细节,.net其实是可以多次返回数据,举个例子,你可以在后端通过response.write()多次传送数据。
在这里我仅提出一些个人的理解,我们通过ajax方式请求数据,其实本质上说是一个浏览器向web服务器发送请求的过程,这里我理解是http通信。感兴趣的同学可以去查一下http通信的特点,这里我仅仅只是简单提一下“无连接”性,每一次请求都是客户端发起,服务器响应后,在关闭连接,换句话说,我们的整个请求都是在一次连接过程中发生的,这就是为什么我们可以在一次请求中多次返回,却不会多次ajax请求只返回一次数据。
- .net 返回前端json数据
- ASP.NET 前端AJAX请求数据及后台ashx返回json给前端。
- .net 获取json前端数据
- .net mvc controller查询数据返回给前端json格式数据
- php返回json数据到html前端
- php返回json数据到html前端
- Json+jquery+asp.net 返回数据库数据
- 前端开发如何模拟后端返回json数据
- Spring-mvc json 返回前端
- Asp.net返回json数据(配合easyui的使用)
- .net http post接口返回json格式数据
- action 返回 json 数据
- struts2 返回json数据
- java 返回json数据
- webservice返回json数据
- Struts2返回JSON数据
- Struts返回JSON数据
- json返回数据
- Git使用本地仓库之基本操作
- 回溯法——八皇后
- 将一个项目以module的形式引入
- 添加、复制、删除feature
- LeetCode1 two sum
- .net 返回前端json数据
- 用VBA编程处理数据
- Windows下配置nginx+php(wnmp)
- 行为数据的价值发现
- 2017 计蒜之道 百度地图导航(缩点+最短路)
- 数据结构:查找
- [树的点分治] [POJ1741/POJ1987] Tree/Distance Statistics
- 欢迎使用Markdown编辑器写博客
- Linux CentOS/Ubuntu java jdk安装配置 离线安装与在线安装