Jquery ajax传递复杂参数给WebService的实现代码
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;
}
}
}
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 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>