当您在服务器脚本中用 remote
错误处理程序根据您是进行同步或者异步调用稍微有些不一样。如果您在进行同步调用时导致错误,那么 remote
不过,如果您产生导致一个错误的异步调用,那么您可以通过指定一个错误回调函数捕获该错误,该回调函数的调用在很大程度上和普通回调函数有相似之处。
捕获异步调用中产生的错误
您可以指定自己异步 remote
callObject = ASPObject.methodName(p1, p2[,...],
callbackFunction, errorCallbackFunction, context)
callobject = RSExecute(url, methodName, p1, p2[,...],
callbackFunction, errorCallbackFunction, context)
有关产生对服务器方法异步调用的详细信息,请参阅异步调用 Remote
不管您进行同步还是异步调用,都可以得到关于错误条件的信息,方法是测试调用对象的属性。如果用户指定了错误回调函数,那么调用对象就被作为参数传递,就象普通回调函数参数传递一样。特别是下面的属性提供了错误信息:
status 如果远程调用失败则包含 -1。
data 包含服务器返回的 XML 格式的粗信息。这是调试的最好信息源,因为它包含了错误消息的完整文本以及服务器生成的其他消息。
message 包含 remote
下面的脚本示例了客户脚本中的一个错误回调函数。第一个脚本产生一个 remote
<
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
msg = msg + co.message
alert(msg);
}
</
Remote
找到某个 remote
在某些情况下,用户不能用 remote
症状 可能错因
Remote
调用不在文档主体内。请参阅使得客户页内的 Remote
Remote
客户端错误消息,比如当试图调用 remote
客户端错误消息“对象不支持该属性或者方法,”特别显示出和 .HTM 文件不匹配的行号。 找不到代理对象 (Rsproxy.class),或者 RSEnableRemote
客户端错误消息“创建文件的 ASP 对象失败”。 RSGetASPObject 调用中传递的是无效 URL。请参阅作为对象引用 ASP 页。
如果错误位于包含远程调用方法的 ASP 页中,或者如果错误出现在对某个远程方法的调用过程中,那么用户可以在某个错误回调函数中捕获该错误,而且用户可以从调用对象的 data 和 message 属性中获得关于错误的信息。
下表列出了用户可以用错误回调函数捕获的典型问题以及 message 和 data 属性中的值。在多数情况下,message 属性返回一般性信息,而 data 属性则包含关于错误的详细信息。
注意 数据属性包含一定数目的 XML 标记以及和调用有关的其他信息。下表列出了出现在属性值中的一个字符串。
问题 消息值 数据值
RSExecute 方法中 ASP 页的无效 URL。请参阅同步调用 Remote
ASP 文件到 Rs.asp 的路径错误。请参阅使得服务器页中的 Remote
ASP 文件中的语法或者运行时间错误。 “调用的页不支持 remote
试图调用不存在的方法。 “不是公用函数。” “不是公用函数。”
ASP 构造函数引用了未出现在 ASP 文件中的函数。请参阅使得服务器页中的 Remote