调用ASP而不刷新页面
在以前的文章中,我介绍了遥感的基本工作原理,如果遥感应用于网站设计中会有很多特殊效果(尤其是最大的优势,它可以不刷新页面调用服务器代码)。正是因为这一特点,你可以写在传统的C/S模式的程序,对数据的处理(我想你一定想知道如何具体实现,下面将给出一个具体的例子,破碎的调试程序几乎杀了我。哦。)
从前面的描述中可以看出,使用RS技术要求客户机和服务器满足以下两个条件:
1。客户只需要支持java小程序
2、服务器只需要支持asp。
换句话说,RS技术完全独立于浏览器。(当然,浏览器需要支持java和javascript至少)。您可以在IE或NC使用它们,这是差异性和RDS技术的显著特点。
在您能够灵活地使用RS技术之前,您应该首先解释一个问题,也就是前面提到过的异步调用问题,因为异步调用,您只能刷新页面的某些部分而不刷新整个页面。
由于这个特点,可以让你的服务器,当你输入实现有效性检查的数据页(这可能是一系列非常复杂的法律检查,如需要比较,有用户输入的数据和数据库中的数据不是客户端JS然后解决)当服务器返回的检查结果后,可以进行相应的操作(如一个对话框,告诉用户输入错误等)。异步调用的语法:
rsexecute(serverurl,函数名,param_list)
第一个参数是您想要调用的ASP页面的完整URL路径。
第二个参数是您要调用的函数的名称。
下面是函数需要的输入参数
U3000 U3000
如果你想调用一个需要两个输入参数的函数,这就是写的方式:
rsexecute(serverurl,函数名,f_arg_1,f_arg_2)
打电话时有两种写作方式,
一种是调用呼叫结果的方式:
objresult = rsexecute(serverurl,函数名,f_arg_1,f_arg_2);
另一种是结果不被调用的方式:
rsexecute(URL,func_name,f_arg_1,f_arg_2,callbackfunction);
这种通话方式应该特别注意。callbackfunction是JS功能的客户端。这意味着,一旦RS在服务器端执行调用,它就会立即调用函数,并将结果返回给这个函数。
一个典型的callbackfunction功能应该是这样的结构:
功能callbackfunction(objresult){
自己处理
}
唯一的输入参数,objresult,是RS的返回值调用。
在这里,我们假设这种情况:
用户进入浏览器用户的电子邮件地址,然后用户留下电子邮件地址输入框下一个过程的输入,此时RS是玩,它根据用户输入的数据库服务器的地址,您可以确定用户是否已经存在,然后将结果返回给客户端客户端,然后使用DHTML技术在显示诊断结果输入框提示用户输入的信息在前。
函数的CallbackFunc(objresult){
提示用户信息
窗口{ objresult。语境}。值= objresult.return_value;
}
RSExecute()应该叫rsexecute(serverurl,函数名,f_arg_1,CallbackFunc)
显示诊断结果);
不,不说,不说,这是这么多罗嗦,我想大家也看到了一个大脑袋,下面是让特定的代码来说话:
(请设置一个系统DSN文件称为NW对服务器之前使用代码。该文件使用northworld,这是中文Access97数据库示例)。
下面的例子是default.htm分成两帧,在main.html页面使用遥感技术,我们可以注意到提交不用于main.html所以如果你按下回车键直接在页面中所没有出现的话,你必须通过鼠标点击获取信息使用这个按钮来实现页面的局部刷新技术,在页面单击结束按钮,会有轻微的延迟(这个时间的java小程序建立一个连接,在后台服务器),然后立即返回鼠标的正常页面,您可以继续执行其他操作这个页面,而不是像普通的页面刷新,你必须等待数据,大家可以看到info.asp这是一个非常简单的字符串处理程序。
如果你熟悉DHTML技术,您可以在客户端完成这些操作。至于EmpData.asp,服务器处理的数据处理,所有的好处,可以实现自己。
特别注意,不要改变太多的代码,否则很容易出错,毕竟它是用javascript编程的。
default.htm文件代码如下:
maim.html文件的代码如下
员工信息
请输入您要查询的名称:
值获取信息
onclick=execasynch(emplastname。值)>
info.asp文件代码
响应。写request.servervariables(remote_user )
strtext = request.querystring(信息)
如果strtext =然后响应。结束
arrdata =分裂(strtext,| )
arrlabels =分裂(员工称号,市就业日期
%>
对于我= 0比3
响应。写
响应。写arrlabels(我)
响应。写arrdata(我)
下一个
%>
empdata.asp文件