后台给前台传JSON字符串,前台解析并拼接显示
后台传JSON
public class CourseType : IHttpHandler
{
Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseType.B_PX_CourseType b_coursetype = new Epoint.PeiXun.Bizlogic.BLL.CourseLibrary.PX_CourseType.B_PX_CourseType(); List<CourseTypeData> list_CourseType = new List<CourseTypeData>();
CourseTypeChartData CourseTypecd = new CourseTypeChartData();
public void ProcessRequest(HttpContext context)
{
string rjson = string.Empty; try
{
int Count1;
string where = "where 1=1";
DataView dv = Epoint.MisBizLogic2.DB.GetData_Page_ByConnName(
"*",
,
,
" PX_CourseType ",//Frame_AttachInfo和NTI_CourseChapter
"Row_ID",
where,
"ParentRowID asc,OrderNum desc",
out Count1,
"DJG_PeiXun_ConnectionString"
).DefaultView;
CourseTypecd.PicNum = Convert.ToString(dv.Count);
for (int i = ; i < dv.Count; i++)
{
list_CourseType.Add(new CourseTypeData(Convert.ToString(dv[i]["TypeName"].ToString()), Convert.ToString(dv[i]["parentRowID"].ToString()), Convert.ToString(dv[i]["Row_ID"].ToString())));
}
CourseTypecd.CourseData = list_CourseType;
rjson = new Epoint.KSPXBase.Bizlogic.DB_Common().Obj2Json(CourseTypecd); }
catch
{
rjson = "";
} context.Response.ContentType = "text/plain";
context.Response.Write(rjson);//返回调用处
} public bool IsReusable
{
get
{
return false;
}
} internal class CourseTypeData
{
public CourseTypeData(string typeName, string parentRowID,string row_id)
{
TypeName = typeName;//类别名称
ParentRowID = parentRowID;
Row_ID = row_id;
}
public string TypeName;
public string ParentRowID;
public string Row_ID;
} internal class CourseTypeChartData
{
public string PicNum;//数据个数
public List<CourseTypeData> CourseData;
}
}
前台解析,并拼接显示
$(function () {//加载课程推荐
LoadCourseTypeName($("#CourseType"));//加载课程
});
function LoadCourseTypeName(obj) {
$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "<%=Request.ApplicationPath%>/Ashx/CourseType.ashx?",
dataType: 'text',
complete: function () { },
beforeSend: function () {
obj.html("<div class='divLoadTips'>课程内容加载中...</div>");
},
success: function (result) {
var res = JSON.parse(result);//得到json值
var rtn = parseInt(res.PicNum);
obj.html("")
var span, a;
for (var i = ; i < rtn; i++) {
var parentRowID = res.CourseData[i].ParentRowID;
if (parentRowID == "") {
var row_id = res.CourseData[i].Row_ID;
var li = $("<li class='drop-menu-item' id='" + row_id + "'> </li>");
span = $("<span class='drop-menu-cate' >" + res.CourseData[i].TypeName + "</span>")
li.append(span);
}
else {
$("#menucourse ul li").each(
function (index) {
if ($(this).attr("id") == parentRowID) {
a = $("<a href='#'> " + res.CourseData[i].TypeName + "</a>");
$(this).append(a);
}
}
);
}
obj.append(li);
}
},
error: function (result, status) {
alert(result.responseJSON.Message);
}
})
}
后台给前台传JSON字符串,前台解析并拼接显示的更多相关文章
- Kotlin入门(31)JSON字符串的解析
json是App进行网络通信最常见的数据交互格式,Android也自带了json格式的处理工具包org.json,该工具包主要提供了JSONObject(json对象)与JSONArray(json数 ...
- 动态Json字符串的解析
动态Json字符串的解析 对于传统的Json字符串,比如有规定属性的对象,通常都会采用反序列化的方式就可以了,例如下面的方式: DataContractJsonSerializer ser = new ...
- Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串
文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...
- Retrofit 2.0 轻松实现多文件/图片上传/Json字符串/表单
如果嫌麻烦直接可以用我封装好的库:Novate: https://github.com/Tamicer/Novate 通过对Retrofit2.0的前两篇的基础入门和案例实践,掌握了怎么样使用Retr ...
- HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结
最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了:去官网看了一下在4.3之后就抛 ...
- 前台给后台传JSON字符串,后台解析并保存
前台 function BMSure() { var DanWeiName = $("[id$='BusinessName']").val(); var Address = $(& ...
- 前台传JSON到后台
现在,有一个需求,我需要将表格中选中行的数据中的一部分传直接传到控制器中,然后保存到另外一张表中.一开始,我就想到在前台使用ajax构造json数据,然后控制器直接通过list接收. 选中界面中的行, ...
- 分享知识-快乐自己:SpringMvc整合遇到-前台传JSON参数,后台实体类对象接收
前台数据转JSON对象: /** * * @param $myFrom:from表单 * @returns {{}} */ function from($myFrom) { var ebookEntr ...
- 后台date类型转换为json字符串时,返回前台页面的是long类型的时间戳问题解决
学习springboot框架,写个博客系统,在后台管理的日志管理中,遇到了后台查询的日期格式的结果返回到页面变成了日期的时间戳了.然后摸索了三种方法来解决.页面的显示问题如下图. 问题页面回顾: 本案 ...
随机推荐
- JSP内置对象---out内置对象
<%@ page language="java" import="java.util.*" contentType="text/html; ch ...
- Linux 命令 find
find命令的基本格式是:find [路径] [选项] [操作]路径是find命令所查找的范围,如用.来表示当前目录,用/来表示根目录,选项用于指定查找条件,如:可以指定按照文件的属主,更改时间文件类 ...
- Visual Studio 2015 Update 3 ISO
http://download.microsoft.com/download/c/2/6/c26892d8-6a5d-4871-9d46-629f4d430146/vs2015.3.vsu.iso
- Win7下Hyenae的安装
(1)下载 链接:http://sourceforge.net/projects/hyenae/ 资源:hyenae-0.36-1_fe_0.1-1-win32.exe (2)README --- ...
- 3、Android Intent Flag的介绍
介绍:http://blog.csdn.net/luckily01/article/details/7737499
- jQuery原生框架-----------------事件
jQuery.extend({ // 绑定事件 addEvent: function( ele, type, fn ) { // ele不是DOM,type不是字符串,fn不是函数,打包打走 if( ...
- linux下查看进程状态
1.查看进程的启动时间和执行时间 使用 ps 命令 :#ps -A -opid,stime,etime,args $ ps -A -opid,stime,etime,args PID STIME EL ...
- C语言程序设计第8堂作业
一.本次课主要内容: 本次课通过以下两个知识点来完成: (1)以数字金字塔为例,介绍函数的另一种形式,即不返回结果的函数.不返回结果的函数在定义.调用.参数传递.函数声明上,思路完全与以前相同,只是函 ...
- mediawiki安装
下载wiki,我用的mediawiki-1.23.6 版本. 服务器是window2008 r2 的. 下载xampp,或者wamp都可以,我的用的禅道安装的xampp,解压后直接放在htdocs目录 ...
- array_filter函数
利用array_filter函数轻松去掉多维空值,而数组的下标没有改变, 如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组.如果原数组是 ...