2012-07-07 146 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