flex跨域访问问题(转)

时间:2021-09-04 05:06:00

缺省状况下flex允许你的站点从本域内检索数据,当然你可能注意到你用flex IDE(例如flex builder)可以从任何地方获取数据,那是因为flash软件给你特别的权限用于调试的目的,一旦当你编译好后放入服务器(localhost或别的域名),这时候flash player就在你的应用内放置安全沙箱,但你访问沙箱以外的数据时,他就会显示security error错误。

比如你从a.com域访问b.com域的数据,这时候你必须在b.com放置跨域权利文件以保证a.com可以访问b.com的数据。

crossdomain.xml

 

<?xml version="1.0"?>

<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>

    <site-control permitted-cross-domain-policies="all"/>

    <allow-access-from domain="*"/>

</cross-domain-policy>

 

crossdomain.xml文件必须放置在域的根目录处,以tomcat为例,文件需放置在 webapps/ROOT 下。

 

判断放置是否成功的方法是访问 http://b.com/crossdomain.xml

 

由于arcgis 9.3 server同样是以REST方式发布服务,所以当需要允许外域访问arcgis 服务时,同样需要设置跨域

 

crossdomain.xml放置的目录是   {arcgis安装目录}/ArcGIS/java/web_output