Jquery ajax传递复杂参数给WebService的实现代码

  Entity:

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Text;

  using System.Runtime.Serialization;

  namespace Entity

  {

  [DataContract]

  public class User

  {

  [DataMember]

  public string Name

  {

  get;

  set;

  }

  [DataMember]

  public int Age

  {

  get;

  set;

  }

  }

  }

  WebService:

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.Services;

  using Entity;

  namespace JQuery.Handler

  {

  [WebService(Namespace = "http://tempuri.org/")]

  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

  [System.ComponentModel.ToolboxItem(false)]

  [System.Web.Script.Services.ScriptService]

  public class UserService1 : System.Web.Services.WebService

  {

  [WebMethod]

  public string ComplexType(User hero,List<User> users)

  {

  return hero.Name + " has " + users.Count + " people!";

  }

  }

  }

  Html:

  

复制代码 代码如下:

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <title>Ajax</title>

  <script src="../Scripts/jquery-1.6.min.js" type="text/javascript"></script>

  <script type="text/javascript">

  $(function () {

  $("#btnWeb").click(function () {

  $.ajax(

  {

  type: "post",

  url: "../Handler/UserService.asmx/ComplexType",

  dataType:"json",

  contentType:"application/json",

  data: '{"hero": {"Name":"zhoulq","Age":27},"users":[{"Name":"zhangs","Age":22},{"Name":"wangw","Age":26},{"Name":"liuj","Age":25},

  {"Name":"luos","Age":24}]}',

  success: function (data) { $("#web").text(data.d); }

  });

  });

  });

  </script>

  </head>

  <body>

  <input id="btnWeb" type="button" value="请求WebService" /><label id="web"></label>

  </body>

  </html>