2012-07-07 145 views
0

跨域脚本我有使用弹簧MVC web应用程序和即时通讯。 我需要允许跨域脚本(我需要一个我可以通过javascript访问的web服务)。 我写了一个crossdomain.xml,我把它放在WEB-INF文件夹下。这是我的crossdomain.xml允许在MVC Web应用程序

<?xml version="1.0" encoding="UTF-8"?> 
<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

找遍四周,看见crossdomain.xml必须从这个URL accessable: “本地主机:8080/crossdomain.xml的
的事情是, mvc将请求重新路由到主控制器(使用RequestMapping注释“/”)。我如何使用spring mvc克服这个问题?
谢谢。

回答

1

crossdomain.xml被使用只有通过闪光,所以这可能不是你真正想要的。

如果你想用JavaScript实现跨域XHR请求,你应该用任何CORS或JSONP,看到这个related question

CORS例如:

access-control-allow-origin: http://api.example.com 
access-control-allow-credentials: true 

JSONP例如(使用jQuery,需要服务器端支持):

$.ajax({ 
    type: "GET", 
    url: "https://domain.com/jsonp-service", 
    dataType: "JSONP" 
}); 
+0

感谢您的reply.when我使用dataType:JSONP的jQuery的ajax返回一个错误。同样的事情发生whern我写json。 事情是,即时通讯使用JAX-RS(泽西岛)服务外部化,我读到,有没有jax-rs jsonp的支持,所以我搜索了一个过滤器,但没有找到一个工作之一:) 任何建议? – 2012-07-08 16:09:06

+0

我找到了解决方案。春季和运动衫之间有特别的整合。实施后,它的工作。 (我在最后使用了JSONP)。非常感谢。 – 2012-07-20 15:43:40