我创建了一个Flash站点,只需点击一下服务器即可下载搜索数据。服务器是位于另一个域的客户端服务器,因此我创建了一个crossdomain.xml以在其根目录下加载。
我不断收到沙箱安全错误,因此我运行了Charles,发现我的代码在urlVariables之后请求了一个crossdomain.xml。
例如。我打电话给
http://searchStuff.com/search?master_device_id=5606&q=email&do=simulator_sayt
我的程序在这里查找crossdomain.xml:
http://searchStuff.com/search?master_device_id=5606&q=email&do=simulator_sayt/crossdomain.xml
我尝试过使用Security.loadPolicyFile,但是直到它到达根目录下的crossdomain.xml(它显然在错误的位置寻找)时才会起作用。
我尝试过使用POST和GET方法,设置URLRequest.data方法,只是将变量作为字符串附加到原始URL。同样的问题不断发生。
对可能导致此问题的任何见解?
答案 0 :(得分:0)
您可以在源中指定绝对路径:
flash.system.Security.loadPolicyFile("{http://domain.com/crossdomain.xml}");
答案 1 :(得分:0)
好吧,我明白了。事实证明你必须在“?”之前加上“/”,
ie:我使用的网址看起来像这样:
http://searchStuff.com/search?master_device_id=5606&q=email&do=simulator_sayt
但它需要看起来像这样
http://searchStuff.com/search/?master_device_id=5606&q=email&do=simulator_sayt
解决了这个问题。