AJAX获取从SQL数据库中读取到的JSON数据
续上一节内容tcsj.aspx页面中的请求片断
ajax('gettcsj.ashx?id='+idd, 'GET', '', function (res) {
var data = JSON.parse(res.response);
hot.loadData(data.data);
document.getElementById('ljs').innerHTML = start;
exampleConsole.innerText = "成功加载";// (data.data).length;计算JOSN数据的项数
setTimeout(function () { exampleConsole.innerText = ""; }, 4000);
这里是向gettcsj.ashx传递了班级与性别参数 id
gettcsj.ashx完整页面代码如下:
<%@ WebHandler Language="C#" Class="gettcsj" %>
using System.Web;
using System.Data;
using LitJson;
using System;
public class gettcsj : IHttpHandler {
string sqlstr = "";
public void ProcessRequest (HttpContext context) {
string bj = context.Request.QueryString["id"].ToString().Trim();
string[] bjs = bj.Split('_');
string bc = bjs[0].ToString();
int sex =Convert.ToInt32(bjs[1].ToString());
DataTable istjdt = Sqldo.ExecuteDataTable(Sqldo.CONN_STR, CommandType.Text, "select xjh from tcsj_1 where bc='"+bc+"' and xb='"+sex+"'");
if(istjdt.Rows.Count==0)
{
sqlstr = "select 姓名 as xm, 学籍号 as xjh,性别 as xb,'' as sg,'' as tz, '' as fhl,'' as wsm,'' as ldty,'' as zwtqq,''as ybm,'' as yy,'' as zysl,'' as yysl,'' as zyqg,'' as yyqg,'' as zyquan,'' as yyquan from tcsj where bj='" + bc + "' and 性别="+sex;
}
else
{
sqlstr = "select a.姓名 as xm, a.学籍号 as xjh,a.性别 as xb,b.sg,b.tz,b.fhl,b.wsm,b.ldty,b.zwtqq,b.ybm,b.yy,b.zysl,b.yysl,b.zyqg,b.yyqg,b.zyquan,b.yyquan from tcsj a,tcsj_1 b where a.bj='" + bc + "' and a.学籍号=b.xjh and a.性别="+sex;
}
DataTable dt = Sqldo.ExecuteDataTable(Sqldo.CONN_STR, CommandType.Text, sqlstr);
JsonData jsonData = new JsonData(); //无名JsonData对象
jsonData["data"] = new JsonData();
for (int i = 0; i < dt.Rows.Count; i++)
{
JsonData jsonData2 = new JsonData();
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonData2[dt.Columns[j].ToString().Trim()] =dt.Rows[i][j].ToString().Trim();
}
jsonData["data"].Add(jsonData2);
}
string json = jsonData.ToJson(); //将以上数据转为Json格式的文本
context.Response.ContentType = "application/Json";
context.Response.Write(json);
}
public bool IsReusable {
get {
return false;
}
}
}