想要异步的时候,想要同步的时候同步,在不同的情况下我们有不同的需求。dwr是ajax的服务器端框架,它封装了服务器端的调用,我们可以在JAVASCRIPT中直接调用服务器端的代码,完成想要的功能。
但是,由于AJAX是异步实现的,并且AJAX确实是为了异步的实现才引入近来的。但是,AJAX仍然也支持同步的调用。在纯粹的XMLHttpRequest中可以设置调用是否是异步的。XMLHttpRequest的open函数是有一个是否同步参数,如下:
XMLHttpRequest.open(String method, String URL, boolean asynchronous)
其中的asynchronous就是是否同步的参数了。
在DWR的engine.js文件,有setAsync方法,就是设置调用是否是同步的,还是异步的。
js 代码
- DWREngine.setAsync(false);
- Property.validateCode(codeNum.Trim(),function(data)
- {
- if(data)
- {
- flag = true;
- }else{
- document.getElementById("msg").innerHTML="未输入验证码或输入的与验证码不一致";
- flag = false;
- }
- });
- DWREngine.setAsync(true);
上面这段代码就是设置DWR是同步返回的。
如果不同步返回的话,因为默认是异步的,所以没有等到AJAX返回,页面已经进行了操作,这样可能会导致结果与的发生很大的差别,因此必须先设置为同步。然后再执行异步调用:
分享到:
相关推荐
**10.1 常见问题**:列举在使用DWR过程中可能会遇到的一些常见问题及其解决方案。 1. **TransformerFactoryConfigurationError**:解决方法可能是检查TransformerFactory的配置是否正确。 2. **XML解析错误**:通常...
4. **基本使用**:教程可能会涵盖如何创建第一个DWR调用,包括异步和同步调用,以及处理返回的数据。 5. **安全与优化**:了解如何设置安全性选项,防止跨站脚本攻击(XSS),以及如何通过缓存和批处理优化DWR性能...
3. **异步与同步调用**:DWR支持异步和同步两种调用方式,以适应不同的应用场景。 4. **批量调用与缓存**:DWR允许批量执行多个远程调用,并且可以缓存结果以提高性能。 **Ajax与DWR结合的优势** 1. **实时性**:...
- **自动更新**:当服务器端的类或方法改变时,DWR可以自动更新客户端的JavaScript代码,确保客户端始终与服务器保持同步。 - **安全控制**:DWR有内置的安全机制,如CSRF防护和IP白名单,以防止未授权的访问。 -...
压缩包内的"DWR中文文档2.pdf"很可能是DWR3的中文用户指南或开发者手册,对于学习和使用DWR3框架具有很高的参考价值,详细介绍了如何配置、使用DWR以及解决常见问题。"dwr.rar"可能包含了DWR的源码或者库文件,便于...
6. **错误处理**: DWR提供了一套完整的错误处理机制,包括服务器端和客户端的错误报告,帮助开发者快速定位和修复问题。 7. **Caching**: 为了提高性能,DWR支持缓存服务器端的Java对象实例,这样后续的调用就无需...
- **异步调用**:除了同步调用,DWR还支持异步调用,提高用户体验。 - **Batching**:将多个请求打包成一个批次发送,优化网络效率。 通过学习这个DWR3.0官方中文入门教程,开发者不仅可以了解如何在项目中集成...
4. **DWR的调用方式**:DWR支持同步和异步两种调用方式。同步调用会阻塞浏览器直到服务器返回结果,而异步调用则在后台执行,允许用户在等待结果的同时继续操作页面。 5. **DWR的Batching机制**:DWR允许批量执行多...
3. **调试与日志**:DWR提供了内置的调试工具和详细的日志记录,便于开发和问题排查。 使用DWR进行界面开发时,需要注意以下几点: 1. **JavaScript库的引入**:在HTML文件中引入DWR的JavaScript库,如`dwr.engine....
5. **事件处理和数据同步**: 当用户在前端操作时,如点击按钮、选择项等,可以通过ExtJS的事件处理机制触发DWR调用,更新服务器端的数据。反之,服务器端的数据变化也可以通过DWR实时地反映到前端UI上。 6. **错误...
- **异步与同步调用**:支持JavaScript对Java方法的同步和异步调用,提供更好的用户体验。 - **批量调用**:允许一次发送多个请求,减少网络开销。 - **自定义序列化与反序列化**:用户可以自定义对象的序列化和...
这份DWR中文文档会详细介绍上述内容,包括安装步骤、配置详解、API使用示例、安全设置以及常见问题解答,帮助读者全面理解和掌握DWR技术。对于想要提升Web应用交互体验的开发者来说,阅读这份文档将大有裨益。
DWR还提供了其他特性,如安全设置、缓存控制、异步和同步调用等,使得它成为开发富互联网应用(RIA)的强大工具。通过合理利用DWR,开发者可以构建更加动态、交互性强的Web应用,提供媲美桌面应用的用户体验。在实际...
DWR支持同步和异步两种调用模式。 7. **安全考虑**:DWR提供了安全性机制,如CSP(Content Security Policy)支持,防止跨站脚本攻击。在实际应用中,要确保正确配置以防止未授权访问。 8. **示例应用**:`dwrdemo...
它使用了AJAX技术,但避免了跨站脚本攻击(Cross-Site Scripting, XSS)和跨站请求伪造(Cross-Site Request Forgery, CSRF)等问题,因为每个请求都包含了服务器生成的安全令牌,确保了请求的合法性。 为了使用DWR...
它处理了异步调用中的同步问题,允许开发者提供一个回调函数来处理Java方法调用完成后的结果。 总的来说,DWR是一个强大的工具,适用于那些希望在不离开浏览器的情况下实现丰富的用户交互和动态更新页面的Web开发者...
- **异步和同步调用**:可以选择同步或异步调用服务器端方法,根据应用场景选择合适的调用方式。 DWR是提升Web应用用户体验的有效工具,它通过简化Ajax的实现,使开发者能更专注于业务逻辑,而不是通信细节。然而,...
3. **类型安全**:DWR在JavaScript和Java之间进行数据转换时,保持类型安全,避免了JSON或XML序列化带来的潜在问题。 4. **异步和同步调用**:DWR支持异步调用,允许用户在不刷新页面的情况下更新部分内容。同时,...
4. **异步和同步调用**:开发者可以选择异步或同步方式调用后端服务,根据需求灵活选择。 5. **缓存管理**:DWR支持缓存策略,可以有效减少不必要的网络传输,提高性能。 6. **调试工具**:DWR提供了一个内置的...