【发布时间】:2016-09-20 07:32:08
【问题描述】:
我有一个用 asp.net 编码的网站和一个 mssql 数据库。
我想用 json 检索位于我的数据库中的数据并将其打印在 div 中。该网站正在使用 jQuery 移动。我需要它异步工作。
这是应该从数据库中获取数据并以 json 格式打印的 DataFetch.aspx:
<%
UserDB udb = new UserDB();
Users u = udb.SelectById((int)Session["loggedID"]);
TestDB tdb = new TestDB();
Tests t = tdb.SelectByStudentID((int)Session["loggedID"]);
//QueryString["task"] = 1 => Fetch Grades
if (int.Parse(Request.QueryString["task"]) == 1)
{
Response.Write("{ \"grades\":");
for (int i = 0; i < t.Count; i++)
{
if (i != 0)
Response.Write(",");
Response.Write(" [{\"subjectName\":\"" + t[i].lesson + "\", \"date\":\"" + t[i].date + "\", \"grade\":\"" + t[i].grade + "\"}]");
}
Response.Write(" }");
}
这是生成的 json:
{ "grades": [{"subjectName":"Math", "date":"18/09/2016", "grade":"100"}] }
这就是我阅读和解释用 DataFetch.aspx 编写的 json 代码的方式:
var xhttp = new XMLHttpRequest();
var jsonResult;
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
jsonResult = JSON.parse(this.responseText);
document.write(jsonResult.grades[0].subjectName);
}
}
xhttp.open("GET", "DataFetch.aspx?task=" + task, true);
xhttp.send();
};
"this.responseText" 包括 html 标记和所有内容。有没有优雅的方法来解决它?
【问题讨论】:
标签: javascript jquery asp.net json