上次做店铺销售对比水晶易表的时候碰到一个问题,一直没有解决。
今天刚好一个朋友也碰到了这个问题,看了要捣腾一番,最终找到了一个解决方案,方案如下。
当前情况:店铺销售对比报表(flash文件),目前放在34的iis目录,该报表需要访问61的ws数据,但会出下如下问题:
问题:跨域策略问题,不能获取到外部的数据
原因:访问flash报表的地址,必须和报表本身访问数据接口的域是一致的,也就是说ip必须相同。
例如flash文件在 http://192.168.0.34:8888/View/SJYB/xsdb.swf
报表本身访问的数据在:http://192.168.0.61:8080/dswsbobje/qaawsservices/queryasaservice?&cuid=AdSxF7qX0LJGueeZc7350g8&authType=secEnterprise&locale=zh_CN&timeout=60
这种就会导致这样的错误,必须要把flash报表放到http://192.168.0.61:8080/dswsbobje/目录下,同一个域才可以正常访问。
将xsdb.swf拷贝到61服务器dswsbobje/目录下,问题解决,能够正常访问了:
经过测试,发现只需要ip保持一致即可,跟url的子目录没有关系。