简单的ajax封装:
function ajax(url,onsuccess)
{
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open("POST", url, true);
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4)
{
if (xmlhttp.status == 200)
{
onsuccess(xmlhttp.responseText);
}
else
{
onfail(xmlhttp.status);
}
}
}
xmlhttp.send(); //这时才开始发送请求
}
后台
List<Person> list = new List<Person>();
list.Add(new Person { Name="yzk",Age=32,Email="yzk365@qq.com"});list.Add(new Person { Name = "tom", Age = 12, Email = "tom@qq.com" });
list.Add(new Person { Name = "lily", Age = 18, Email = "lily@qq.com" });
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(list);
//string json = jss.Serialize(new Person { Name = "lily", Age = 18, Email = "lily@qq.com" });// 可以直接实例化对象。
context.Response.Write(json);
前台
<script type="text/javascript">
function go()
{
ajax("JsonTest1.ashx", function (resTxt)
{
//alert(resTxt);
//var p = JSON.parse(resTxt);
//alert("姓名:"+p.Name+";年龄:"+p.Age);
var persons = JSON.parse(resTxt);
for (var i = 0; i < persons.length; i++)
{
var p = persons[i];
alert("姓名:" + p.Name + ";年龄:" + p.Age);
}
});
}
</script>