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

文档: 检查错误
当您在服务器脚本中用 remote scripting 调用方法时,可能会遇到多种错误,包括语法错误和运行时间错误,以及调用 remote scripting 方法时的错误。remote scripting 调用机制向您提供了获知调用过程中所出现错误信息的途径。

错误处理程序根据您是进行同步或者异步调用稍微有些不一样。如果您在进行同步调用时导致错误,那么 remote scripting 机制将在浏览器中显示一条错误消息。错误文字来自于调用对象的 message 属性。有关详细信息,请参阅如下的“Remote Scripting 调用故障诊断”。

不过,如果您产生导致一个错误的异步调用,那么您可以通过指定一个错误回调函数捕获该错误,该回调函数的调用在很大程度上和普通回调函数有相似之处。

捕获异步调用中产生的错误

您可以指定自己异步 remote scripting 调用中的错误回调函数名。由于您必须传递该回调函数的函数指针,因此对于异步方法调用来说,您必须使用 javascript。如果您已经创建了对服务器页的对象引用,那么可以用第一个语法示例。否则可以用第二个语法示例。
callObject = ASPObject.methodName(p1, p2[,...],
callbackFunction, errorCallbackFunction, context)

callobject = RSExecute(url, methodName, p1, p2[,...], 
callbackFunction, errorCallbackFunction, context)

有关产生对服务器方法异步调用的详细信息,请参阅异步调用 Remote Scripting 方法。

不管您进行同步还是异步调用,都可以得到关于错误条件的信息,方法是测试调用对象的属性。如果用户指定了错误回调函数,那么调用对象就被作为参数传递,就象普通回调函数参数传递一样。特别是下面的属性提供了错误信息:

status 如果远程调用失败则包含 -1。

data 包含服务器返回的 XML 格式的粗信息。这是调试的最好信息源,因为它包含了错误消息的完整文本以及服务器生成的其他消息。

message 包含 remote scripting 代理过程生成的错误消息信息(如果有的话)。message 中的错误消息不必要和 data 属性中的一样。例如,如果 ASP 页包含一条语法错误,那么关于该错误的详细消息将出现在 data 属性中,但消息属性将只包含这样一条消息──它指示用户不能调用 ASP 页上的方法。 
下面的脚本示例了客户脚本中的一个错误回调函数。第一个脚本产生一个 remote scripting 调用,并指明错误回调函数。第二个脚本是错误回调函数本身。错误回调函数并不显式地对调用对象 status 属性值进行测试,因为该函数仅在调用失败时才被调用。

<SCRIPT LANGUAGE="javascript" for="btnSquare" event="onclick">
rsMath = RSGetASPObject("rsadd.asp");
number1 = txt1.value;
context = "squaring";
co = rsMath.square(number1,showResults,showErrors,context);

function showErrors(co){
// 转储粗数据
msg = "The raw data returned by the remote method call is "
msg = msg + co.data
alert(msg);
// 显示友好信息
msg = "The following error occurred during the " 
msg = msg + co.context
msg = msg + " remote scripting call:\n"
msg = msg + co.message
alert(msg);
}
</SCRIPT>

Remote Scripting 调用故障诊断
找到某个 remote scripting 调用中的确切错误源并不总是一件容易的事情,因为 remote scripting 不仅涉及到客户而且涉及到服务器上的多个文件。不过,某些类型的错误属于一般性错误,而且容易发现。另外,用户可以用 remote scripting 机制的错误捕获程序获得调用过程中所出现错误的详细信息。

在某些情况下,用户不能用 remote scripting 进行任何处理,因为尚未对之进行正确的初始化。下表列出了典型的初始化错误及其可能的出错缘由。

症状 可能错因 
Remote scripting 不起作用;客户页源仅包含 <APPLET> 标记。 RSEnableRemoteScripting 
调用不在文档主体内。请参阅使得客户页内的 Remote Scripting 有效。 
Remote scripting 不起作用;所有调用失败。 ASP 页未被调用。使用 http:// 协议(而不是 file://)。 
客户端错误消息,比如当试图调用 remote scripting 方法时,出现“未定义 'MSRS' ”消息。 试图进行远程调用之前,未能成功调用 RSEnableRemoteScripting 方法。 
客户端错误消息“对象不支持该属性或者方法,”特别显示出和 .HTM 文件不匹配的行号。 找不到代理对象 (Rsproxy.class),或者 RSEnableRemoteScripting 方法中传递的是无效 URL。 
客户端错误消息“创建文件的 ASP 对象失败”。 RSGetASPObject 调用中传递的是无效 URL。请参阅作为对象引用 ASP 页。

如果错误位于包含远程调用方法的 ASP 页中,或者如果错误出现在对某个远程方法的调用过程中,那么用户可以在某个错误回调函数中捕获该错误,而且用户可以从调用对象的 data 和 message 属性中获得关于错误的信息。

下表列出了用户可以用错误回调函数捕获的典型问题以及 message 和 data 属性中的值。在多数情况下,message 属性返回一般性信息,而 data 属性则包含关于错误的详细信息。

注意 数据属性包含一定数目的 XML 标记以及和调用有关的其他信息。下表列出了出现在属性值中的一个字符串。

问题 消息值 数据值 
RSExecute 方法中 ASP 页的无效 URL。请参阅同步调用 Remote Scripting 方法和异步调用 Remote Scripting 方法 不同的,包括用户试图调用的页名。 (null) 
ASP 文件到 Rs.asp 的路径错误。请参阅使得服务器页中的 Remote Scripting 有效。 “调用的页不支持 remote scripting。” “未找到包括文件。” 
ASP 文件中的语法或者运行时间错误。 “调用的页不支持 remote scripting。” 和错误有关的细节,包括行号。 
试图调用不存在的方法。 “不是公用函数。” “不是公用函数。” 
ASP 构造函数引用了未出现在 ASP 文件中的函数。请参阅使得服务器页中的 Remote Scripting 有效 “调用的页不支持 remote scripting。” “functionName未定义。”

(0)

相关推荐

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

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

  • 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 方法. 异步调用某个 remote script 类似于同步调用.不

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

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

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

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

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

  • js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】

    本文实例讲述了js使用文档就绪函数动态改变页面内容.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> /*文档就绪函数*/ /*动态修改网页的内容*/ window.onload = function () { va

随机推荐