大家看完前台代码是不是有疑问了,如果传递很多字段,很多属性的数据时,该怎么办呢,如果每个数据都是这样的自己split()一下的话,那么做大项目的话肯定会累屎了,下面jQuery有帮我们做了件好事情,就是json的使用,下面我引入我的使用无刷新评论的json代码
前台代码:

$(function () {
$.post( (data, status) {
) {
);
$().append(td);
}
$( (e) {
e.preventDefault();).text()},
function (data, status) {
$.parseJSON(data);
$().remove();
) {
comments[i];
);
$().append(li);
}
});
});
});
});

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using ajax学习.DataSetCommentTableAdapters;
using System.Web.Script.Serialization;
namespace ajax学习.无刷新分页
{
PagedServices 的摘要说明
/// </summary>
[WebService(Namespace =
)]
[WebServiceBinding(ConformsTo =
WsiProfiles.BasicProfile1_1)]
public class PagedServices : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType =
;
action=context.Request[
];
var adapter =
new T_CommentTableAdapter();
)
{
int count=
adapter.SelectCount().Value;
int pagecount=count/
10;
if(count%
10!=
0)
{
pagecount++
;
}
context.Response.Write(pagecount);
}
)
{
];
int iPageNum =
Convert.ToInt32(pagenum);
var data = adapter.GetPagedData((iPageNum -
1) *
10 +
1, iPageNum *
10);
List<Comments> list=
new List<Comments>
();
foreach(
var row
in data)
{
list.Add(new Comments() { Id = (
int)row.Id, IP = row.IP, Msg = row.Msg, PostDate =
row.PostDate, });
}
JavaScriptSerializer jss =
new JavaScriptSerializer();
context.Response.Write(jss.Serialize(list));
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
public class Comments
{
public int Id {
get;
set; }
public string IP{
get;
set;}
public string Msg{
get;
set;}
public string PostDate{
get;
set;}
}
}

这样我们真的是省了很多力气啊,是不是jQuery很强大啊。。。。。。。。。。。。。
然后吧,微软感觉我必须封装自己的ajax,这样使得开发者做项目变得容易一些,微软真的是帮我们封装好了一个,但是对于高手来说,大家都不想用,感觉这样的代码太呆板,一点不灵活,我再下面引入代码,供新手参考:(不了解ajax运行原理的新手一样可以使用ajax快速开发新的项目)

onclick
Text

但是微软后来真的是开发一个很好地工具,那就是ajax与WCF的结合,废话少说,引入代码,供大家思考

Button1_onclick() {
PersonService.GetPerson( (data) {
alert(data.Name);
},
function () {
alert();
});
}

后台代码:(PersonService.svc)