后台给前台传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框架,写个博客系统,在后台管理的日志管理中,遇到了后台查询的日期格式的结果返回到页面变成了日期的时间戳了.然后摸索了三种方法来解决.页面的显示问题如下图. 问题页面回顾: 本案 ...
随机推荐
- google api autocomplete
<input class="flex-item" id="autocomplete" placeholder="address, zip or ...
- vs2012 error c4996: This function or variable may be unsafe
编译lua源码时,使用vs2012,遇到如下错误. 1>------ 已启动生成: 项目: 20130925, 配置: Debug Win32 ------ 1> stdafx.cpp ...
- React Native 打包.jsx文件
最近在研究React Native.感觉开发效率确实不错,但jsx语法写起来感觉不怎么顺手. 试用了Sublime Text 3和Visual Studio Code写代码,感觉反应总是慢一拍. 还是 ...
- Html标签第一课
<p>段落标签</p> <h1>字体标签,1到6,越来越小</h1>.....<h6></h6><h>标签自动换行 ...
- Android 取源码时 error: could not verify the tag 'v1.12.4'的解决
原帖地址http://forum.xda-developers.com/showthread.php?p=46100064也没说啥原因 repo init -u git://github.com/Cy ...
- 64位Win7 VS调试、PLSQL与oracle的连接异常问题
系统换为64位Win7后,VS与Oracle开发环境出现了很多问题.调试无法连接Oracle,PLSQL无法连接Oracle等一系列问题.下面记录一下处理办法: 1.oracle客户端选择32位进行安 ...
- 对ToString("X2 ")的理解
/// <summary> /// 将byte型转换为字符串 /// </summary> /// <param name=&q ...
- 函数的caller属性
今天我在这里通过一个例子介绍一下函数自身的call属性. 例: function whoCallMe(){ alert("My caller is" + whoCallMe.cal ...
- ldap + kerberos + google authentication 实现两步验证
第一步:ldap + kerberos 整合 ,参考之前的文章 第二步:google authentication 安装配置,参考之前的文章 第三步:整合 ldap + kerberos + goo ...
- PHP初学者都该掌握哪些技能
初学PHP时,不要好高骛远,脚踏实地的把LNMP搞熟练,打好基础再往更高的层次发展.今天给大家总结初学者应该学会的技能. 1.Linux 基本命令.操作.启动.基本服务配置(包括rpm安装文件,各种服 ...