ASP.NET AJAX调用Web Service实现页面无刷新的方法

时间:2022-03-26 02:40:11

ASP.NET AJAX调用Web Service实现页面无刷新的方法

摘要:ajax 是面向异步消息通讯机制的Web 客户端构建技术.文章通过实例介绍 AJAX调用web service实现页面无刷新的方法

关键词: AJAXWeb ServiceWeb客户端

中图分类号:TP393.092 文献标识码:A 文章编号:1007-9416(2012)03-0000-00

1、引言

AJAX全称为“Asynchronous JavaScript and XML”(异步的JavaScript和XML)是由Garrett首先提出的,其核心是利用AJAX的异步交互模式,减轻服务器负担,提高应用操作的执行效率 [1]。如果完全手工构建AJAX风格的Web应用程序比较困难。 AJAX是微软公司对AJAX技术的完美封装,是可视化的AJAX应用框架,而且容易与现有的程序相结合,通常实现复杂的功能只需要在页面中拖几个控件就可以完成,降低了程序员的开发难度。

2、AJAX的工作模式

在传统的WEB页面交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个HTML页面到客户端,每当服务器处理客户端请求时,客户都只能空闲等待,并且哪怕只有一次很小的交互或者只是从服务器端得到很简单的一个数据,都要返回一个完整的HTML页面,而用户每次都要浪费时间和带宽去重新读取整个页面。

AJAX技术是一组成熟的老技术的无缝集合,包括:XTML和CSS标准化呈现;DOM实现动态交互;XML和XSLT进行数据处理;XML Http Request进行异步数据读取;最后用JavaScript绑定所用数据[1]。在AJAX的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像数据验证等都交给AJAX引擎处理,只有确定需要从服务器读取新数据时才由AJAX引擎向服务器提交请求[2],从而减轻服务压力。

3、Web Service

Web Service是一个应用组件,可以为其它应用程序提供数据服务。Web Services提供者编写接口函数与服务描述,并把它到服务请求者或服务注册中心。服务请求者通过服务注册中心的服务描述,选择所需的服务进行绑定并调用Web Services函数,Web Services提供者则以XML的形式把结果返回给服务请求者,从而实现信息交互。

4、 AJAX调用Web Service的方法

Visual Studio2008(以下简称VS2008)自身带有.NET Framework3.5的环境,本文的案例是通过.NET Framework3.5的环境来完成。首先通过VS2008建立一个3.5的应用程序,在工具箱里找到AJAX Extensions选项卡,在默认页面Default.aspx上拖入ScriptManager控件,设置该控件的Services属性引入WEB服务的目标地址,负责整个页面的脚本生成。

4.1 WEB服务代码模块

在该项目中添加本地WEB服务,在WEB服务类之前添加类的属性说明[System.Web.Script.Services.ScriptService],编写简单的两数求和方法,并在方法前边添加[WebMethod]方法属性说明。

[WebMethod]public double Add(double a,double b){double c;c = a + b;return c;}

4.2 客户端Javascript调用模块

在前台客户端Default.aspx页面添加JavaScript脚本直接调用WEB服务中的Add方法,调用通过WEB服务的类名直接调用,最后一个参数show为回调函数的函数名,用来处理从服务器端返回的数据,show函数中的参数v是从服务端返回的实际数据。

function Result(){var a=document. getElementById("TextBox1").value;varb=document.getElementById("TextBox2").value;

WebService.Add(a,b,show); }function show(v){ document. GetElementById ("TextBox3"). value=v; }

在 AJAX页面中计算出结果但页面不会刷新,浏览器上的前进和后退按钮都是不可用的状态。至此,利用 AJAX服务器端控件实现了JAVASCRIPT直接调用WEB Service,避免了页面在运行时大量的刷新问题。

5、结语

ASP NET AJAX架构与ASP NET3.5编程模型无缝集成,为WEB应用程序中的客户端脚本和服务器语言之间架起了一座桥梁。使用无刷新的WEB页面可以减轻服务器负担,避免了页面每次都执行都需要刷新,为用户提供了良好的体验。

参考文献

[1] 仰燕兰,金晓雪,叶桦 AJAX框架研究及其在Web开发中的应用[J].计算机应用与软件,2011(6).

[2] 陈锋敏.Ajax原理与系统开发[M].清华大学出版社,2009.

[3] 陈良敏.基于WEB Service的数据库同步系统的研究[J].科技咨询,2011(16).

作者简介:

李海波,助教,研究生,就职于南阳理工学院软件学院。研究方向为WEB开发和系统集成安全。

白光远, 助教,研究生,在南阳理工学院软件学院从事教学工作,主要研究方向为数字图像处理和Web开发。

上一篇:关于民用建筑结构设计中安全问题探讨 下一篇:广电数字电视机顶盒技术分析