我想实现页面局部刷新
以下是我在网上找的资料
RS技术的一个具体例子
在前面的帖子中,我介绍了RS的基本工作原理,显然如果将RS技术运用在一个
网站的设计中将会有很多非凡的作用(尤其是它的那个最大的优点,可以在不刷新
页面的情况下调用服务端的代码)。正是因为这个特点,你就可以象在编写一个
传统的C/S模式的程序一样,对数据库的数据进行处理了(我想大家一定很想知道具体应该如何来实现了,下面将给出一个具体的例子,调试这个破程序几乎快把我给累死,呵呵。)
从前面的描述可以看到,要使用RS技术就需要客户端和服务端满足下面两个条件:
1。客户端只需要支持Java applet即可
2。而服务端只需要支持ASP即可
换句话说,就是RS技术是完全独立与浏览器的(当然浏览器至少需要满足支持Java
和JavaScript),你可以在IE中使用,也可以完全在
NC中使用,这也是区别与RDS技术的一个显著特点。
在能够灵活运用RS技术前,先要说明一个问题,就是前面也曾经提到过的“异步调用”
的问题。也正是因为有异步调用,才能够实现你只刷新页面的某一部分而不用刷新
整个页面。
由于它的这个特点,你可以让服务端来实现在你浏览页面的同时
对你输入数据的合法性检查(当然这可以是一系列很复杂的合法性检查,例如需要
将用户输入的数据和数据库内已有的数据进行对比等,这个可不是客户端的JS能够解决的)
然后当服务端返回检查结果后,你再进行相应的操作(例如弹出一个对话框告诉用户
输入出错等等)
异步调用时的语法如下:
RSExecute(serverURL, functionname, param_list)
第一个参数是你想调用的asp页面的完整的URL路径
第二个参数是你想调用函数的名称
后面的就是该函数需要的输入参数了
如果你想调用的函数需要两个输入参数的话,就是这样的写法:
RSExecute(serverURL, functionname, f_arg_1, f_arg_2)
当进行调用时有两种写法,
一种是有返回结果的调用方式:
objResult = RSExecute(serverURL, functionname, f_arg_1, f_arg_2);
另外一种则是没有返回结果的调用方式:
RSExecute(url, func_name, f_arg_1, f_arg_2, CallbackFunction);
这种调用方式要特别的注意,其中的CallbackFunction是客户端的一个JS函数
它表示一但RS执行完毕服务端上的调用,就会马上调用这个函数,并把结果返回到这个
函数中去。