DWR调用远程方法的错误和异常处理

记得以前通常我们在调用 DWR 的远程方法是这样写

Remote.method(params,function(data){  
    //服务端执行后客户端的逻辑,如  
    alert("服务端执行后返回的数据:"+data);  
}); 
Remote.method(params,function(data){
    //服务端执行后客户端的逻辑,如
    alert("服务端执行后返回的数据:"+data);
});

第一个至倒数第二个参数为客户端传向服务端的数据,最后一个参数直接就是一个回调函数。因为服务端根据 Java 对象生成的 js 代码就是:

Remote.method = function(p0, callback) {
    dwr.engine._execute(Remote._path, 'Remote', 'method', p0, callback);
}

所以很直观的把第二个参数理解为就是一个回调函数。当然要注意了,上面说的远程方法都是一个参数,如果为多个参数的话,callback 总是最后一个参数,如:

Remote.method= function(p0, p1, callback) {
  dwr.engine._execute(Remote._path, 'Remote', 'method', p0, p1, callback);
}

你的 DWR 程序要是一切顺利,那都好说,算你幸运;而要是碰到了远程方法在处理你的请求时抛出了异常,你将会看到 DWR 只会给你一个 alert("Error") 简单显示错了,而这是不够的。所以你需要去琢磨如何主动捕获种这一错误,更友好的展示给用户。所以若碰到远程调用的异常,你同样是幸运的,因为又可以思考来学到一着。

那个 alert("Error") 其实是 DWR 的全局错误处理,可通过 dwr.engine.setErrorHandler(errorHandler) 来改变它的默认行为的,如

function errh(errorString, exception) {
    alert("提示你自定义的全局出错信息。");
}

dwr.engine.setErrorHandler(errh);

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索dwr js
, callback异常
, callback
, 参数
, dwr3.0
, function
, dwr
, 远程调用
, 远程服务器错误
, remote
, method
, dwr空指针异常
一个
dwr java调用js代码、dwr异常处理、dwr回调执行异常、dwr调用、dwr 无法调用,以便于您获取更多的相关知识。

时间: 2024-11-21 05:13:35

DWR调用远程方法的错误和异常处理的相关文章

为什么要用rmi代理调用远程方法

问题描述 为什么要用rmi代理调用远程方法 为什么要用rmi代理调用远程方法,为什么不直接反序列化远程对象直接调用方法. 求解?

结合实际运用的DWR调用远程的Spring bean的问题

问题描述 你好: 我用dwr调用远程的Spring中的bean(annotation)方式成功了,可是有一个非常不解的地方,比如我客户端的dwr的js代码:function callTestMethod2() { var obj2={yHBdysbh:"yhb19802",yhBqdz:"yhb自定义的全地址2",YhBmplh:"某某数据"}; var p4={"map的Key2":obj2}; DwrAction.getA

报远程服务器返回错误: (405) 不允许的方法。

问题描述 报远程服务器返回错误: (405) 不允许的方法. WebResponse webRespon = httpReq.GetResponse();远程服务器返回错误: (405) 不允许的方法. 解决方案 你的方法看上去有问题,可以用浏览器调用你的方法试试.看是否同样的错误 解决方案二: 是不是对方没有开放远程服务? 解决方案三: 应该是配置上吧 对对这些设置都改了吗http://www.cnblogs.com/dudu/p/http-status-405-method-not-allo

php mailer类调用远程SMTP服务器发送邮件实现方法_php技巧

本文实例讲述了php mailer类调用远程SMTP服务器发送邮件实现方法.分享给大家供大家参考,具体如下: php mailer 是一款很好用的php电子邮件发送类模块,可以调用本地的smtp发送电子邮件,也可以调用远程的smtp发送电子邮件,但是使用时需要注意一些事项,否则就会造成发送失败,或者根本不能调用的情况,本文就我在使用这个类时,遇到的问题和解决办法进行展开,简要说明一下php mailer的用法,及注意事项. 首先下载phpmailer类库文件,在这里下载,只需一个资源分. 下载地

Delphi中idhttp.post方式调用datasnap rest远程方法

idhttp.get方式调用,这种比较简单,大家都会.post方式网上却没有任何成功的代码,本人也是摸索了一个上午才搞定. 分享给大家. (1)post方式调用的远程方法,方法名必须加"update"前缀,不加行不?你试下啦. function TServerMethods1.updateecho(const value: String): String; begin Result := value; end; 更多精彩内容:http://www.bianceng.cnhttp://w

用RMI进行远程方法调用

远程方法调用(RMI)机制可以把面向对象的思想进一步扩展,因为你可以调用的对象不仅可以在本机上,也可以在别的主机上.本文就简单介绍rmi的编程方法. 首先介绍一些简单的rmi的概念. 1,服务器和客户:在rmi中,如果有一个对象进行远程方法调用,这个对象就叫做客户机对象,而远程对象则被称为服务器对象. 2,创建服务器对象的服务器程序:这个程序用来创建服务器对象,注册这个对象,使得客户可以通过注册的名称访问服务器对象. 3,接口(interface),接口可以让客户端了解服务器所能做的工作.更具体

android2.2.8版本,在发起视频时,对方不在线,我调用什么方法可以在CallError.ERROR_INAVAILABLE或者其他错误的情况下进行重播,而不会finish当前页面?

问题描述 android2.2.8版本,在发起视频时:对方不在线,我调用什么方法可以在CallError.ERROR_INAVAILABLE或者其他错误的情况下进行重播,而不会finish当前页面?在重播的情况下如何才可以进行消息推送唤起离线的对方,让对方收到消息进入App中接听视频?请说明具体的类和方法,感谢. 解决方案 在通话监听到对方不在线的时候再去调用拨打实时视频

寻觅dwr调用方法缓慢的问题

问题描述 前几天我遇到了一个问题,让我百思不得其解.我们项目需要用dwr开发,以前也用过,可是这次需要和Spring整合,很快一个下拉列表联动就做好了,可是进入Tomcat中运行相当慢,我在网上差了很多资料,但是都是一场空,下来看看我这个项目第一次写的代码.public class Deptement {private static SystemQuery systemQuery = null;private static TrainQuery trainQuery = null; Compan

ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息_实用技巧

一.如何用AJAX调用JsonResult方法 比如FuckController中添加有个返回JsonResult类型的方法FuckJson(): 复制代码 代码如下: <span class="kwd">public<span class="pln"> <span class="typ">JsonResult<span class="pln"> <span class=&