当前位置: 首页 > 图文教程 > 网络编程 > ASP > remote script文档(转载自微软)(五)

ASP
asp调用存储过程
利用批处理文件和 vbs 脚本实现网站视频自动录制
ASP、vbscript编码模板
FileSystem对象常用的文件操作函数有哪些?
asp显示日历效果
sql语句的一些集合
ASP语法注释
函数名称 函数功能
万能数据库连接程序
记录集内随机取记录的代码
分页代码
如何在数据库中用好Transaction?
用Command对象和RecordSet对象向数据库增加记录哪一个更好
为什么在存储过程中用OLEDB方式不能返回记录集
如何查询日期类型的数据?
ASP如何获取真实IP地址
两种小偷程序的比较
使用xmlHttp结合ASP实现网页的异步调用
用ASP开"多线程"
整理了一个editplus的剪辑文件(ASP方面的内容)

ASP 中的 remote script文档(转载自微软)(五)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 75 ::
收藏到网摘: n/a

  文档: 调用 Remote Scripting 方法同步

在对某个客户页和某个服务器页上的 remote scripting 进行配置后,您就可以从自己的客户脚本调用该服务器页的方法了。缺省的情况是,当用户调用某个服务器方法时,它被同步执行──您的客户脚本直到服务器方法执行完毕并返回结果后才能停止运行。一般说来,当您在自己的客户脚本中需要服务器方法结果时,则需同步调用服务器方法。

注意 您也可以异步调用服务器方法。有关详细信息,请参阅异步调用 Remote Scripting 方法。

当您调用某个服务器方法时,该方法并不返回单个值。而是创建一个 call object ,它是一个包含了被调用过程的返回和状态信息的对象。最常用的属性是调用对象的 return_value 属性,它包含了远程过程计算或者检查出来的单个值。其他调用对象属性使得用户可以得到更多关于远程过程调用的状态信息。

如果您已经创建了对某个服务器页的对象引用,那么可以用标准 object.method 语法来调用方法。有关创建对象引用的详细信息,请参阅作为对象引用 ASP 页。另外,您也可以在没有任何对象引用时调用 remote scripting 方法。这样做比起使用 object.method 语法来要略微冗余些,但不需要用户首先创建对象引用。

同步调用服务器方法

如果用户创建了对服务器页的对象引用,那么对于使用 JavaScript 的调用,可用第一个语法示例,而对于使用 VBScript 的调用,可用第二种语法示例:
JavaScript:
callObject = ASPObject.methodName(p1, p2[,...])

VBScript:
set callObject = ASPObject.methodName(p1, p2[,...])


- 或者 -

如果用户没有创建对象引用,调用 RSExecute 函数。对于使用 JavaScript 的调用,使用第一个语法示例,而对于使用 VBScript 的调用,使用第二种语法示例:
JavaScript:
callobject = RSExecute(url, methodName, p1, p2[,...])

VBScript:
set callobject = RSExecute(url, methodName, p1, p2[,...])


其中:

callObject 在 remote scripting 调用完成后,将被实例化的调用对象名。您无需在调用 remote script 之前创建该对象;远程脚本调用为您创建之。


ASPObject 您在早期使用 RSGetASPObject 方法可选择地创建的对象引用。有关详细信息,请参阅作为对象引用 ASP 页。


url 包含您想要执行的远程脚本的 ASP 页的 URL。必须已将服务器页配置为使得服务器页中的 Remote Scripting 有效中所描述的那样。服务器页必须在用户从中请求当前客户页的服务器上。


methodName 您想要执行的服务器页上的方法名。


p1, p2, ... methodName中的方法所需要的任何参数。 参数是通过值来传递的。用户可以传递简单的数据类型,比如数值或者文本值,但不能传递结构化数据,比如数组或者对象。
注意 当把参数从客户传递给服务器时,它们被转换为字符串。要确保您的服务器方法在使用参数时,将之转换为合适的数据类型。有关详细问题,请参阅使得服务器页中的 Remote Scripting 有效。

例如,下面按钮 btnAdd 的客户脚本 onclick 处理程序调用服务器方法 add 来累加两个数值。调用 remote scripting 方法会创建一个名为 co 的调用对象。remote scripting 调用的结果从调用对象的 return_value 属性中提取出来,并作为名为 txt3 的文本框值显示出来。

<SCRIPT LANGUAGE="JavaScript" for="btnAdd" event="onclick">
    rsMath = RSGetASPObject("../myPages/RSMath.asp")
    number1 = txt1.value;
    number2 = txt2.value;
    co = rsMath.Add(number1,number2);
    txt3.value = "The sum is " + co.return_value;
</SCRIPT>


在无对象引用情况下所产生的同样调用(用 RSExecute )可能如下所示:

<SCRIPT LANGUAGE="JavaScript" for="btnAdd" event="onclick">
    number1 = txt1.value;
    number2 = txt2.value;
    co = RSExecute("RSmath.asp","add",number1,number2);
    txt3.value = "The sum is " + co.return_value;
</SCRIPT>


有关在产生 remote scripting 调用时,如何检查错误的详细信息,请参阅检查错误。