有这样的需求 a.com 要通过 ajax 访问 b.com的数据
dwr 2.0提供了 跨域访问的功能
dwr写道
Cross Domain Ajax: <script> tag manipulation
Should you need to access servers in a different domain we've enabled a new remoting scheme. From DWR 2.0 you can use manipulation of <script> tags in addition to XMLHttpRequest or iframes. To use is you just need to do the following:
DWREngine.setMethod(DWREngine.ScriptTag);
dwr 写道
To allow cross-domain script tag requests you need to add the following incantation to web.xml:
<init-param>
<param-name>allowGetForSafariButMakeForgeryEasier</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowScriptTagRemoting</param-name>
<param-value>true</param-value>
</init-param>
To configure the client where to send cross-domain requests, set the ._path variable for the remote interface in question:
Remote._path = 'http://otherdomain.com/webapp/dwr';
Remote.someFunction();
Cross-domain remoting may not work properly with reverse ajax.
实际开发
js 写道
<script type='text/javascript' src='http://a.com/dwr/interface/regutil.js'></script>
<script type='text/javascript' src='http://a.com/dwr/engine.js'></script>
<script type='text/javascript' src='http://a.com/dwr/util.js'></script>
js 写道
DWREngine.setMethod(DWREngine.ScriptTag);
regutil._path = 'http://sso.dxy.cn/dwr/';
调用方法 出现 XMLHttpRequest.open 时权限不足
网上搜索了下 很多人说是 firefox的bug
再次搜索 看到scripttag 能搞定此问题
把js 的引入 改成 动态 加载 果然可以了 哈哈 。
注意点:dwr jar需要是2.0.2
分享到:
相关推荐
**一、DWR跨域访问** 1. **什么是跨域访问**:跨域是指浏览器出于安全原因,不允许不同源的页面之间进行交互。源由协议、主机名和端口号组成。DWR通过设置CORS(Cross-Origin Resource Sharing)策略,允许不同源的...
1. **跨域问题**:DWR默认支持跨域,但如果遇到问题,可以检查配置文件`dwr.xml`中的跨域设置,或者使用CORS策略。 2. **缓存问题**:如果页面上的数据没有实时更新,可能是由于浏览器缓存了DWR的响应。可以通过...
`ajaxReg(解决中文问题)`可能解决了在使用Ajax注册功能时遇到的中文字符编码问题。 通过学习和实践这些资源,开发者可以深入理解DWR如何与Ajax结合,实现高效的Web应用交互。同时,掌握DWR可以帮助开发者避免编写...
DWR简化了跨域问题,让开发者可以像调用本地函数一样调用远程服务。 6. **学习和开发**: 对于初学者,可以通过阅读官方文档和示例代码了解如何配置DWR,以及如何在项目中使用它。熟练掌握DWR后,可以尝试自定义...
它处理了跨域问题,自动序列化和反序列化数据,并且支持异步调用,减少了页面刷新的需求。 2. **DWR的核心组件**: - **Engine**:引擎是DWR的核心,负责处理所有与远程调用相关的任务,包括安全、缓存、转换等。 ...
**10.1 常见问题**:列举在使用DWR过程中可能会遇到的一些常见问题及其解决方案。 1. **TransformerFactoryConfigurationError**:解决方法可能是检查TransformerFactory的配置是否正确。 2. **XML解析错误**:通常...
Remoting允许你在浏览器中直接调用服务器端的方法,Reverse Ajax则是指服务器可以主动向客户端推送数据,而CORS则解决了跨域访问的问题。 2. **DWR架构**:DWR由三个主要部分组成:`Engine`、`Servlet`和`...
DWR 3.0引入了重大的改进和新特性,如增强的安全性、支持JSONP(JSON with Padding)以跨域通信、增加了对Spring框架的更深入集成、支持更多类型的Java对象转换为JavaScript以及改进的调试工具。这个版本的目标是...
8. **集成与调试**:理解如何将DWR与其他前端框架(如jQuery或AngularJS)集成,并使用DWR的内置调试工具进行问题排查。 9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是...
5. **解决跨域问题**: - DWR3支持跨域通信,但默认可能有限制。在`dwr.xml`配置文件中,你可以通过`crossDomain`元素开启跨域支持,或者在服务器端代码中设置相应的HTTP响应头,如`Access-Control-Allow-Origin`。...
2. **安全机制**:DWR提供了一套安全机制,包括跨域限制、签名验证等,以防止恶意的Ajax请求。 3. **缓存控制**:DWR支持缓存响应,减少不必要的服务器请求,提高性能。 4. **远程方法调用(Remote Method ...
DWR处理了跨域问题,提供了安全机制,以及对异步调用的异常处理。 2. Maven: Maven是Java项目管理工具,主要用于构建、依赖管理和项目信息管理。它通过一个XML文件(pom.xml)来定义项目配置,包括项目信息、依赖...
8. **调试与日志**:学习如何在开发过程中利用DWR的内置调试工具和日志功能,以便于找出和解决问题。 9. **集成Spring框架**:如果你的项目使用了Spring,教程可能会介绍如何将DWR与Spring集成,实现依赖注入和事务...
1. **远程调用**:DWR创建了一个安全的跨域JavaScript API,允许浏览器端的脚本直接调用服务器端的Java方法,实现数据的实时更新。 2. **批量调用与异步更新**:DWR支持批量调用多个服务器方法,以及异步处理,提高...
其优点在于简化了Ajax开发,减少了跨域问题,并且提供了错误处理和调试支持。 综上所述,Java借助DWR框架实现Ajax通信,能够提高Web应用的响应速度和用户体验,降低了开发复杂性。在实际项目中,结合DWR提供的各种...
DWR还提供了丰富的调试和日志功能,帮助开发者在开发过程中跟踪和解决问题。在示例中,可能会有相关的日志输出或调试代码。 通过学习这个简单的DWR例子,你可以了解到如何在实际项目中集成DWR,以及如何利用它来...
如果DWR应用涉及到跨域通信,还需要配置CORS(Cross-Origin Resource Sharing),允许来自不同源的请求。 通过以上知识点,我们可以理解如何使用DWR在Web应用中实现文件的上传和下载功能,同时也应注意安全性和...
6. **调试工具(Debugging Tools)**:DWR提供了内置的调试工具,帮助开发者追踪和解决问题,包括错误报告和远程日志查看。 7. **自定义化(Customization)**:DWR允许高度定制,可以通过配置文件控制哪些Java类和...
DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成JavaScript代码,这些代码可以调用服务器端的Java方法。DWR通过HTTP POST请求在客户端和服务器之间传递...