不错的remote script文档(转载自微软)(三)

文档: 使 Remote Scripting 在服务器页中有效

除了对客户页进行配置以便于调用远程脚本外,您还必须对自己的服务器页进行配置,以便于对它们进行接收。其做法包括下面这些步骤:

包含 remote scripting 服务器库,并对其进行初始化。

编写客户页能调用的函数或者例程。

将自己的函数和例程显露为方法。 
缺省的情况是,客户脚本所调用的某个 ASP 页并不显示在浏览器中──而是简单地在服务器上执行并将结果送到客户端。因此,作为规则,您无需在 ASP 页中包括进任何 HTML 文本,而只需脚本。不过,还是有可能在某个 ASP 页上调用包括 HTML 文本的方法并作正常显示的,只要您初始化了 remote scripting 服务器库,并用下面描述的技巧显露页的方法。

包括并初始化 remote scripting 服务器库

创建服务器端引用 Rs.asp 文件的 INCLUDE 语句,如下例所示:
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->

确保为 Rs.asp 文件指定正确路径。INCLUDE 语句可以出现在用户文件的任何位置。

将一个调用插入到RSDispatch方法中,当您从客户脚本调用服务器脚本时,可用该方法找到正确过程。该调用可能看起来如下所示:
<% RSDispatch %>

RSDispatch 调用必须是运行在该页上的第一个服务器脚本。按惯例,典型做法是将其放到文件头部。

在合适的初始化动作中,创建用户将从客户脚本中作为方法调用的函数或者例程。您可以用任何脚本语言书写过程。过程可以接受任意数目的参数,但参数只可以为字符串、数字、日期,或者其他简单数据类型──客户不能将结构化数据(例如,对象或者数组)作为参数。

注意 当您将参数从客户脚本传递到服务器脚本时,它们即被转换为字符串。如果用户期望自己的服务器方法中有不同数据类型,可以在方法脚本内部转换之。

在服务器脚本中创建了过程后,您必须将它们作为方法显露出来。为了达到该目的,您可以创建一个 javascript 公共描述对象,并列出用户希望显露的方法。

显露方法

创建一个 public_description 对象,该对象为您的方法指定构造函数。下面的示例命名构造函数为 MyServerMethods:
<SCRIPT LANGUAGE="javascript">
var public_description = new MyServerMethods();

创建您在 public_description 对象中指定的构造函数。在构造函数内部,指定用户希望显露的方法名,以及它们相应的函数或者例程名。用户所使用的语法取决于用户是在 javascript 中还是在 VBScript 中创建自己的方法。可使用下面的语法:
functionconstructor(){
this.methodName = functionName //对于 javascript 方法来说
// 对于用 VBScript 书写的方法,使用下面的语法
this.methodName = Function('p1','p2','return functionName(p1,p2)') 
}

注意 javascript 是大小写敏感的,因此用户必须根据约定正确大写。

其中:

methodName 将被显露的方法名。

functionName 服务器页中实现 methodName 的函数名。

p1, p2 传递给方法的参数列表──如果有参数的话。仅当该方法在 VBScript 中实现时,才能以这种方式显式地声明参数。参数名在构造函数内必须是一致的,但不需要和用户在方法本身中所使用的参数名匹配。用户不需要显式地声明传递给 javascript 中所实现方法的参数。 
下面的示例显示了一个完整的 ASP 页,该页显露两个方法,square 和 add,这可以从客户脚本中调用。square 方法是在 javascript 中实现的,而 add 方法则是在 VBScript 中实现的。

<% RSDispatch %>
<!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"-->

<SCRIPT RUNAT=SERVER LANGUAGE="javascript">
var public_description = new MyServerMethods();
function MyServerMethods()

this.square = squareNumber;
this.add = Function( 'n1','n2','return addNumbers(n1,n2)' );
}

function squareNumber(numberToSquare){
return numberToSquare * numberToSquare;
}
</SCRIPT>

<SCRIPT RUNAT=SERVER LANGUAGE="VBScript">
Function addNumbers(num1, num2)
' 数据类型发生转换,因为它们作为字符串进行传递
addNumbers = CInt(num1) + CInt(num2)
End Function
</SCRIPT>

(0)

相关推荐

  • 不错的remote script文档(转载自微软)(三)

    文档: 使 Remote Scripting 在服务器页中有效 除了对客户页进行配置以便于调用远程脚本外,您还必须对自己的服务器页进行配置,以便于对它们进行接收.其做法包括下面这些步骤: 包含 remote scripting 服务器库,并对其进行初始化. 编写客户页能调用的函数或者例程. 将自己的函数和例程显露为方法.  缺省的情况是,客户脚本所调用的某个 ASP 页并不显示在浏览器中──而是简单地在服务器上执行并将结果送到客户端.因此,作为规则,您无需在 ASP 页中包括进任何 HTML 文

  • remote script文档(转载自微软)(九)

    文档: 等待方法 终止当前正执行的客户脚本,直到指定调用对象的异步 remote scripting 调用完成. 语法 co.wait() 参数 co  执行 remote scripting 调用而生成的调用对象. 说明 调用该方法将把一个异步 remote scripting 调用转换为同步调用.如果 remote scripting 调用已完成,那么该方法将立即返回.如果您在客户脚本中遇到这种情况──需要来自 remote scripting 调用的结果,那么这种调用是有用的. 示例 下面

  • remote script文档(转载自微软)(七)

    文档: 检查错误 当您在服务器脚本中用 remote scripting 调用方法时,可能会遇到多种错误,包括语法错误和运行时间错误,以及调用 remote scripting 方法时的错误.remote scripting 调用机制向您提供了获知调用过程中所出现错误信息的途径. 错误处理程序根据您是进行同步或者异步调用稍微有些不一样.如果您在进行同步调用时导致错误,那么 remote scripting 机制将在浏览器中显示一条错误消息.错误文字来自于调用对象的 message 属性.有关详细

  • remote script文档(转载自微软)(六)

    文档: 调用 Remote Scripting 方法异步 Remote scripting 向您提供了异步调用服务器方法的选择 ──当执行服务器方法时,用户的客户脚本继续运行.异步调用 remote scripting 方法使得您可以避免应用程序用户接口速度的减慢,因为您可以在执行服务器脚本的同时继续工作. 注意 如果您的应用程序需要,那么也可以同步调用服务器方法.有关详细信息,请参阅同步调用 Remote Scripting 方法. 异步调用某个 remote script 类似于同步调用.不

  • remote script文档(转载自微软)(五)

    文档: 调用 Remote Scripting 方法同步 在对某个客户页和某个服务器页上的 remote scripting 进行配置后,您就可以从自己的客户脚本调用该服务器页的方法了.缺省的情况是,当用户调用某个服务器方法时,它被同步执行──您的客户脚本直到服务器方法执行完毕并返回结果后才能停止运行.一般说来,当您在自己的客户脚本中需要服务器方法结果时,则需同步调用服务器方法. 注意 您也可以异步调用服务器方法.有关详细信息,请参阅异步调用 Remote Scripting 方法. 当您调用某

  • remote script文档[转载自微软](二)

    文档: 使 Remote Scripting 在客户页中有效 在您能使用 remote scripting 来调用服务器脚本之前,必须将 remote scripting 能力添加到用户的客户页中.使用来自于客户脚本的 remote scripting 所需的例程包含在 Rs.htm 文件中.用户必须将该文件包含到自己的客户页中.另外,用户必须调用一个方法来启动 remote scripting applet. 为了使得 remote scripting 有效 创建一个空的 javascript

  • remote script文档(转载自微软)(八)

    文档: 调用对象属性和方法 当您调用一个服务器方法时,该方法不返回单个值.而是创建一个调用对象,该对象包含被调用过程的返回值和状态信息.下表列出了调用对象的属性. 属性 描述  id 调用的唯一标识号,它是首次调用时产生的.  return_value 方法的返回值──如果有的话.  data 产生 remote scripting 调用时,服务器返回的粗数据,是以 XML 标记封装的.有关详细信息,请参阅检查错误.  status 指示方法调用当前状态的值.可能值包括: -1 失败 0 完成

  • remote script文档(转载自微软)(四)

    文档: 引用 ASP 页作为对象 为了使得用 remote scripting 调用 ASP 页上的方法更方便一些,您可以在客户脚本中创建一个包含服务器方法页的对象引用.这使得用户可以使用标准 object.method( ) 语法去调用用户已在自己的服务器页上显露的方法. 将某个 ASP 页作为对象加以引用 在客户脚本中,调用 RSGetASPObject 方法,将您希望作为对象加以引用的 URL 和 ASP 页的名字传递给它.RSGetASPObject 方法返回一个对象引用.用下面的语法:

  • remote script文档(转载自微软)(一)

    文档: 远程执行服务器脚本 复杂的 Web 应用程序既调用客户脚本又调用服务器脚本.客户脚本经常用于对应用程序的用户接口进行编程──例如,为了动态改变 Web 页文本,对用户动作,比如双击作出反应,并执行诸如验证这样的面向客户的任务.客户脚本在浏览器中局部执行,这样就向用户提供了一种生动的.反应迅速的接口. 对比来说,服务器脚本是用来对某个应用程序的末段编程的.这经常引起对某个数据库的存取动作,或者执行中间层业务逻辑.服务器脚本也用于创建较大范围的应用程序:也就是可能通过多种不同类型的浏览器(每

  • android帮助文档打开慢的三种解决方法

    经查是因为本地文档中的网页有如下js代码会联网加载信息,将其注释掉后就好了 复制代码 代码如下: <script src="http://www.google.com/jsapi" type="text/javascript"></script> 用一下java代码就可以批量注释 复制代码 代码如下: package cn.sd.fxd.android; /* * 去掉Android文档中需要联网的javascript代码 */import

随机推荐