这里代码较今天早上有重新的改动:<head>
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<title></title>
<script type="text/javascript">
$(function () {
$.post("wsxfy.ashx", { "action": "getCount" }, function (data, status) {
if (status == "success") {
for (var i = 1; i <= data; i++) {
var td = $("<td><a href=''>" + i + "</a></td>");
$("#trInfo").append(td);//先加tr里面后加属性也是一样的!
td.click(function (e) {
e.preventDefault();
$("#ulInfo").empty();
$.post("wsxfy.ashx", { "action": "getData", "pageIndex": $(this).text() }, function (data, status) {
if (status == "success") {
var da = $.parseJSON(data); //这里使用的JSON格式 ,来转换数据,后台代码数据都要进行数据转换
这里没有采用JSON,后台代码直接输出泛型结果,它的效果如图所示:数据都是未定义!
for (var i = 0; i < da.length; i++) {
var li = $("<li>" + da[i].Id + "</li>");
$("#ulInfo").append(li);
}
}
});
});
}
}
});
});
</script>
</head>
<body>
<ul id="ulInfo"></ul>
<table>
<tr id="trInfo"></tr>
</table>
</body>
</html>
后台的ASHX页面:
using System.Web.Script.Serialization; //进行序列化时候引用这个命名空间
namespace FY.Book
{
/// <summary>
/// wsxfy1 的摘要说明
/// </summary>
public class wsxfy1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action = context.Request["action"];
if (action == "getCount")
{
int count = BookManger.GetBookNum(30);
context.Response.Write(count);
}
else if (action =="getData")
{
int pageIndex = Convert.ToInt32(context.Request["pageIndex"]);
var books = BookManger.Fy(pageIndex, 30);
JavaScriptSerializer jss = new JavaScriptSerializer();//因为这里有泛型集合
context.Response.Write(jss.Serialize(books));//jss.Serialize(books)这里是将对象转换成JSON字符串的形式!经过验证!这里没有用JSON格式,在浏览器显示都是如上图所示没有定义!
}
else
{
context.Response.Write("出错了!");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}