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>

相关推荐