`

DWR回调函数设置全局变量值无效的原因及解决方法

DWR 
阅读更多

由于DWR的返回结果是需要通过回调函数来执行的,所以一般在处理返回结果时,经常有候需要把变量设给全局变量以供全局调用。

但这里很可能会遇到一个问题,就是明明在回调函数中已经改变了值,但是在之后的输出中有时候却显示为改变前的值。

其实究其原因是因为DWR是异步调用函数方法的。这就导致有时候在调用变量的时候,虽然执行顺序是在DWR调用的后面,但是异步导致了DWR回调方法还未执行完时已经先调用了待更改的变量,于是发生了这种变量好像没有改变的问题产生。

解决方法是把DWR设为同步执行即可。

 

dwr.engine.setAsync(false);

 

但为了页面的DWR全局执行的waiting考虑,建议在调用完后再恢复异步执行~

 

dwr.engine.setAsync(true);

0
1
分享到:
评论
2 楼 欣水寓言 2011-07-10  
zheng12tian 写道
我设置过不管用

这在IE7及之后的版本中才有用,IE6下是无效的
1 楼 zheng12tian 2011-07-08  
我设置过不管用

相关推荐

    dwr回调函数得到后台list

    在这个场景中,我们关注的是如何在DWR回调函数中处理从服务器返回的`List<Bean>`类型的数据。 首先,我们需要在服务器端定义一个Java方法,该方法会返回一个`List<Bean>`。例如,假设我们有一个名为`User`的Java ...

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

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

    修改后的dwr框架无需回调函数

    然而,“修改后的dwr框架无需回调函数”意味着这个封装后的版本可能已经内置了处理响应的机制,从而省去了开发者手动编写回调函数的步骤。这种改进提高了代码的可读性和可维护性,减少了出错的可能性。 在这个框架...

    关于javascript 回调函数中变量作用域的讨论

    1、背景 Javascript中的回调函数,相信大家都不陌生,最明显的例子是做Ajax请求时,提供的回调函数, 实际上DOM节点的事件处理方法(onclick,ondblclick等)也是回调函数。 在使用DWR的时候,回调函数可以作为第一个...

    DWR调用及传参总结

    如果Java方法有返回值,可以使用回调函数来处理返回结果,如`callTestMethod2`所示。`callBackFortestMethod2`作为回调函数接收返回值,并进行后续处理,例如弹出警告框显示返回值。 3. **有简单参数的Java方法...

    dwr 各种调用方法

    如`callTestMethod2`函数中,调用`testMethod2`并传递`callBackFortestMethod2`作为回调函数,当Java方法执行完毕后,`callBackFortestMethod2`会接收到返回的数据。 3. **有简单参数的Java方法调用** 参数的传递...

    dwr对象处理dwr对象处理dwr对象处理

    - 当Java方法有简单返回值时,可以在JavaScript的回调函数中处理返回数据,例如 `callBackFortestMethod2` 函数中的 `data` 参数接收返回值。 4. **传递参数**: - 调用带有参数的Java方法,需要在JavaScript中...

    dwr实例,JavaScript调用java方法的小例子

    它提供了`DWR.engine`对象,这个对象包含了各种用于调用服务器方法、处理回调、错误处理等功能的函数。 5. **Batching**:DWR支持批量调用,这意味着可以一次性发送多个请求到服务器,这提高了效率并减少了网络往返...

    dwr3_helloword入门

    })`这段代码调用了`MyTest`对象的`getMyName`方法,当方法执行完毕,服务器返回的数据会被传递给回调函数,并设置到页面元素`demo1`的值中。如果遇到问题,检查拼写错误、库文件是否正确引入,以及JavaScript和DWR...

    dwr ajax 局部刷新

    在这个例子中,`refreshData`函数通过DWR调用了服务器端的`getData`方法,并定义了两个回调函数处理返回的结果和可能出现的错误。 **总结:** DWR结合Ajax实现了局部刷新功能,提高了Web应用的用户体验。通过配置...

    DWR中文文档 (DWR 2.0)

    **8.3 传递额外的数据到回调函数**:除了基本的返回结果外,还可以传递其他数据到回调函数,增强应用程序的功能性和灵活性。 **8.4 从其他URL读取数据**:DWR不仅支持从本地服务器获取数据,还可以跨域调用其他...

    Dwr例子带注释

    - 在HTML页面上添加必要的DWR JavaScript库,并设置回调函数来处理服务器响应。 4. **DWR的运行流程**: - 浏览器加载HTML页面,执行JavaScript代码。 - JavaScript通过DWR发起HTTP请求到服务器。 - DWR Engine...

    dwr入门+springmvc实现

    编写网页,调用步骤5的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。 6.在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。 ...

    关于使用DWR返回对象List的方法

    这里,`DWRUtil.createProxy`用于创建一个服务器端服务的代理,`myService.getObjects`调用了服务器上的方法,并将`displayObjects`作为回调函数,当服务器返回List时,该函数会被执行。同时,我们还提供了一个错误...

    dwr实现ajax功能ajax+dwr

    5. **处理回调**: 服务器响应后,DWR会调用预先定义的回调函数,将结果传递给前端进行处理。 在提供的文件中,`DWR 中文帮助.pdf`可能包含了DWR的详细文档和使用指南,帮助开发者更好地理解DWR的配置和API。`总结...

    dwr的用法解析

    在`dwr.xml`配置文件中,通过`<allow>`和`<create>`标签设置可访问的Java类和方法。`creator="new"`表示使用默认构造函数创建Java对象,`javascript="testClass"`定义JavaScript中对象的名称,`<param>`指定类路径...

    DWR中文文档DWR

    - 使用DWR提供的回调函数处理响应数据。 8. **学习资源**: - 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握...

Global site tag (gtag.js) - Google Analytics