帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
remote script文档(转载自微软)(五)
作者: 发布时间:2005-03-12 来源:
文档: 调用 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 调用时,如何检查错误的详细信息,请参阅检查错误。
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·remote script文档(转载自微软)(  (2005-03-12)
 ·remote script文档(转载自微软)(  (2005-03-12)
 ·remote script文档(转载自微软)(  (2005-03-12)
 ·remote script文档(转载自微软)(  (2005-03-12)
 ·ASP+中取代ASP的RS(Remote Scrip  (2005-03-12)
 ·可以近视替代remote script的代码  (2005-03-12)
 ·Remote Scripting进阶教程---远程  (2005-03-12)
 ·Remote Scripting进阶教程---使用  (2005-03-12)
 ·Remote Scripting进阶教程---引用  (2005-03-12)
 ·Remote Scripting进阶教程---检查  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统