-------------页面代码----------
<body>
<input id="Button1" type="button" value="获取数据" onclick="getData()" /> sdfsdfsadf
<ul id="list"><li>sdfsdf</li></ul>
</body>
----------------js文件------------
<script type="text/jscript">
$(document).ready(function () {
$("#btn").click(function () {
$("#list").html("");
$.getJSON(
"ReturnJson.ashx",
{ name: "test", age: 20 },
function (json) {
$("#list").each(json, function (i) {
$("#list").append("<li>name:" + json[i].name + " Age:" + json[i].age + "</li>")
}) })
})
})
</script>
------------接收的服务页面,用于测试,随便返回点数据而已-------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Web
{
/// <summary>
/// ReturnJson 的摘要说明
/// </summary>
public class ReturnJson : IHttpHandler
{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string data = "[{name:\"ants\",age:24},{name:\"lele\",age:23}]";//构建的json数据
context.Response.Write(data);
}
public bool IsReusable {
get {
return false;
}
} }
}点击的时候 ul标签 下的内容可以清空,但是不能填充返回的数据
<body>
<input id="Button1" type="button" value="获取数据" onclick="getData()" /> sdfsdfsadf
<ul id="list"><li>sdfsdf</li></ul>
</body>
----------------js文件------------
<script type="text/jscript">
$(document).ready(function () {
$("#btn").click(function () {
$("#list").html("");
$.getJSON(
"ReturnJson.ashx",
{ name: "test", age: 20 },
function (json) {
$("#list").each(json, function (i) {
$("#list").append("<li>name:" + json[i].name + " Age:" + json[i].age + "</li>")
}) })
})
})
</script>
------------接收的服务页面,用于测试,随便返回点数据而已-------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Web
{
/// <summary>
/// ReturnJson 的摘要说明
/// </summary>
public class ReturnJson : IHttpHandler
{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string data = "[{name:\"ants\",age:24},{name:\"lele\",age:23}]";//构建的json数据
context.Response.Write(data);
}
public bool IsReusable {
get {
return false;
}
} }
}点击的时候 ul标签 下的内容可以清空,但是不能填充返回的数据
斷點停在這裡然後看看data的格式對不對
格式應該是這樣的data的字符串應該是這樣的
[{"name":"ants","age":"24"},{"name":"lele","age":"23"}]
一定要是雙引號,單引號也不行,JSON這個問題我搞了2個星期才搞明白,都給論壇的人搞糊塗,其實JSON就是字符串而已你可以這樣寫dim data as string ="[{" & Chr(34) + "name" & Chr(34) & ":" & Chr(34) & "ants" & Chr(34) & "," & Chr(34) & "age" & Chr(34) & ":" & Chr(34) & "24" & Chr(34) & "},{" & Chr(34)& "name" & Chr(34) & ":" & Chr(34) & "age" & Chr(34) & ":" & Chr(34) & "23" & Chr(34)& "}]"這個是VB.net的,C#應該是把&變成+吧,Chr(34)其實就是"這個,總之返回的字符串一定要變成這樣
[{"name":"ants","age":"24"},{"name":"lele","age":"23"}]
不然肯定顯示不了數據,你可以自己寫一個JSON解析和組織的類比較,直接這樣寫非常繁瑣的
+1 json不规范引起的
另外context.Response.ContentType = "application/json";