`
issun
  • 浏览: 10949 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类

javascript中直接取得DWR方法的返回值

    博客分类:
  • ajax
阅读更多
一般在页面中要取DWR方法的值的做法是

function test(){
     dwrTest.hello(function(data){alert(data)})
}

当你的javascript的test方法要返回这个值时就不好办了。因为DWR方法返回值是执行完后通过调用指定的函数将值返回。这们的话,我们往往会这么做


function test(){
     var result;
     dwrTest.hello(function(data){result=data})
     return result;
}

上面的代码在使用的时候会发现它的返回值为"undefined",分析一下

dwrTest.hello(function(data){result=data})

这一句中“function(data){result=data}"这个方法是一个传给dwrTest.hello的一个参数,是由hello方法执行完后再调用的,所以在test()中并不会执行,就直接返回了一个未初始化的"result"。

实际上这就是一个异步处理过程,而javaScript默认是同步执行的。

我们只要把上面的代码改成:

function test(){
     var result;
     DWREngine.setAsync(false);
     dwrTest.hello(function(data){result=data})
     DWREngine.setAsync(true);
     return result;
}

这样JavaScript执行的时候就会等待"dwrTest.hello"执行完毕后再执行接下来的语句,这时我们就可以直接取得返回值了。
分享到:
评论

相关推荐

    DWR 取得回调函数返回值案列

    接下来,在前端JavaScript中,我们可以通过DWR调用上述定义的Java方法,并设置回调函数来接收返回的结果。具体步骤如下: - **初始化变量**:定义一个变量`_data`用于存储回调函数中的数据。 - **设置同步模式**:...

    dwr调用带集合返回值的方法

    DWR简化了这个过程,使得开发者可以轻松地调用服务器端的方法,并将结果直接在浏览器中更新,而无需刷新整个页面。 在DWR中,当需要处理带有集合返回值的方法时,有一些关键点需要注意: 1. **配置DWR**: 首先,你...

    dwr对各种类型返回值的处理实例

    当你在服务器端的方法中返回这些类型时,DWR会自动将它们转换为JavaScript的相应类型。例如,返回一个整数`int result = 123;`,在JavaScript端,`callServerMethod(function(data){console.log(data);})`将会打印出...

    dwr 各种调用方法

    dwr (Direct Web Remoting) 是一种开源技术,它允许在Web应用程序中实现在客户端JavaScript与服务器端Java之间进行安全的远程方法调用。DWR简化了前后端交互,使得前端可以直接调用后端的Java方法,就像调用本地函数...

    高级dwr方法调用少用的

    Direct Web Remoting (DWR) 是一种开源的Java库,它允许在Web应用程序中实现实时的双向通信,即JavaScript和服务器端Java代码之间可以直接交互。这个技术极大地简化了前端和后端之间的数据交换,提高了开发效率。在...

    dwr各种例子(各种数据类型返回值+包+导入可用+注释+附带讲解)

    通过DWR,你可以直接在JavaScript中调用Java方法并接收这些基本类型的返回值。例如,一个简单的Java方法可能返回一个int值,这个值可以在JavaScript中直接使用,无需额外转换。 2. **实体类**: 在实际开发中,...

    dwr入门+springmvc实现

    利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置...

    JavaScript调用java方法——dwr步骤.docx

    - 在JSP文件中引入DWR所需的JavaScript库,然后通过JavaScript调用Java方法: ```html <title>DWR Example <script type="text/javascript" src="/path/to/dwr/engine.js"> <script type="text/...

    Dwr功能案例

    在客户端JavaScript中,你可以直接调用服务器端的Java方法,并传递参数。DWR会自动处理参数的序列化和反序列化过程。例如,你可以传递一个JavaScript对象到服务器,DWR会将其转换为JSON格式并传递给Java方法。 2. *...

    ajax dwr 2.0 框架 jar包 中文官方文档 天涯浪子

    这些请求被发送给 DWR,这时它的第二个作用就是把请求翻译成服务器端 Java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 JavaScript。DWR 还提供了帮助执行常见的用户界面任务的 ...

    DWR中文文档 (DWR 2.0)

    其核心价值在于允许浏览器中的JavaScript代码能够直接调用运行在Web服务器上的Java函数,如同这些函数就位于浏览器内一样。 **组成部分:** 1. **服务器端Java Servlet**:负责处理来自客户端的请求,并将响应返回...

    dwr的用法解析

    在JavaScript中,通过引入DWR自动生成的接口文件(如TestClass.js)和核心库(engine.js, util.js),可以直接调用`testClass.testMethod1()`执行方法。 2. **有简单返回值的JAVA方法调用** 配置与无参数情况相同...

    DWR框架对各种类型方法调用的示例

    只需在DWR配置文件中声明该方法,然后在JavaScript中直接调用即可。这使得执行简单的查询或获取服务器状态等操作变得简单。 2. **有字符串参数的方法**: 在需要传递字符串数据到服务器端时,DWR支持将字符串作为...

    DWR框架DWR框架

    5. **处理结果**:服务器端执行完方法后,结果会被自动发送回客户端,你可以根据需要在JavaScript中处理这些返回值。 例如,在压缩包内的文件"A051]使用DWR开发AJAX+For+J2EE.wrf"可能是一个演示或者教程,详细介绍...

    dwr教程(初学者的宝典)

    DWR (Direct Web Remoting) 是一种开源技术,允许JavaScript在Web浏览器中直接调用Java方法,从而实现AJAX的应用。这个教程对于初学者来说,是理解DWR工作原理和开发流程的重要参考资料。 1. **调用没有返回值和...

    DWR中处理集合总结

    在JavaScript中,你可以直接将匹配的对象传递给DWR方法。 DWR的集合处理和JavaBean转换使得在Ajax应用中传递复杂数据结构变得简单。通过合理的配置和JavaScript的封装,开发者可以在不离开客户端页面的情况下,方便...

    DWR 初始,返回字符串&对象&列表

    在DWR中,如果你的Java方法返回一个字符串,这个字符串会直接在JavaScript端可用。例如,服务器端有一个方法`getString()`返回一个字符串,DWR会自动将这个字符串传递给JavaScript回调函数。这在显示消息、错误信息...

    DWR实现DEMO

    DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...

    DWR调用及传参总结

    DWR (Direct Web Remoting) 是一种用于在Web应用程序中实现AJAX技术的框架,它允许JavaScript直接调用服务器端的Java方法,从而实现实时的动态数据交换。以下是对DWR调用及传参方式的详细说明: 1. **无返回值和...

Global site tag (gtag.js) - Google Analytics