• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
XPP的Blog
博客园    首页    新随笔    联系   管理    订阅  订阅

在asp.net AJAX客户端使用复杂数据类型

见代码:

 <script language="javascript" type="text/javascript">
        
			function doubleSalary()
			{
				var employee = new Object();
				employee.FirstName = "X";
				employee.LastName = "PP";
				employee.Salary = 1000;
				
				ComplexType.ServerMethod(employee, onServerMethodSucceeded);
			}
			
			function onServerMethodSucceeded(result)
			{
				var message = String.format(
					"First Name: {0}\nLast Name: {1}\nFull Name: {2}\nSalary: {3}",
					result.FirstName,
					result.LastName,
					result.FullName,
					result.Salary);
					
				alert(message);
			}
        </script>

这段代码首先定义了一个doubleSalary方法,里面定义了一个客户端employee实体类,然后将其传给服务器端WebService的某个方法。ComplexType 是WebService 的类名,ServerMethod是服务器端方法,onServerMethodSucceeded是客户端回调方法,作用是处理服务器方法结束之后的客户端事件,然后在这个事件中就能发现客户端之前定义的数据发生了变化

客户端在执行doubleSalary之后,发给服务器的RequestBody其实是下面的字符串:

{"employee":{"FirstName":"X","LastName":"PP","Salary":1000}}

而服务器响应回给客户端的数据其实是一段JSON字符串:

{"d":{"__type":"Employee","FirstName":"X","LastName":"PP","Salary":2000,"FullName":"X PP"}}

需要注意的是这里虽然是客户端调用服务器端的WebService,但并不是通过SOAP而是JSON来传送数据的

演示地址:http://www.xpp.com.cn/AspnetAjax/ClientCallWebService/ComplexType.aspx

 

学习自MSDN Webcast (这里 54分34秒)

posted @ 2009-12-22 02:12  Peter_xpp  阅读(240)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3