Flex - 如何在没有 crossdomain.xml 文件的情况下调用 Web 服务

发布于 2024-08-31 11:11:13 字数 197 浏览 4 评论 0原文

如何使用未明确创建 crossdomain.xml 的 Web 服务?

我知道这是为了安全并防止跨站点脚本,但这似乎确实是 Flex 框架的一个主要限制。

例如,如果我想使用一个与语言无关的 Web 服务,那么我就不能使用 Flex。 Web 服务/服务器必须专门为 Flex/Flash 准备。如果不是,则不能食用。

这不可能吧?

How can I consume a webservice that hasn't explicitely created a crossdomain.xml?

I understand it's for security and to prevent cross-site scripting, but it does seem like a major limitation to the Flex framework.

For example, if I want to consume a webservice, which is suppose to be language agnostic, then I can't with Flex. The webservice/server has to be specifically prepared for Flex/Flash. If it's not, then it cannot be consumed.

That can't be right can it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

∞琼窗梦回ˉ 2024-09-07 11:11:13

使用 Apache 或 BlazeDS 等代理服务器将来自 SWF 的主机的请求转发到具有 Web 服务的主机。

Use a proxy server like Apache or BlazeDS to forward requests from the host the SWF originated from to the host with the web services.

笑看君怀她人 2024-09-07 11:11:13

如果您的网络服务位于另一个域,您将需要一个跨域文件。纯粹而简单。

我找到了两种解决此问题的方法:

  1. 使用 HTTPService
  2. 使用外部接口调用嵌入 Flash 文件容器页面上的 Javascript,然后调用 Web 服务

选项 2 更复杂,但我更喜欢它。此链接应该可以帮助您使用ExternalInterface类:http://blog.flexexamples.com/2008/03/11/returning-values-from-javascript-in-your-flex-applications-使用-externalinterface-api/#more-555

If your webservice is on another domain, you'll need a crossdomain file. Pure and simple.

I have found two ways around this:

  1. Use an HTTPService
  2. Use external interface calls to Javascript embedded on your flash file's container page, which will then call the web service

Option 2 is more complex, but I prefer it. This link should help you out with the ExternalInterface class: http://blog.flexexamples.com/2008/03/11/returning-values-from-javascript-in-your-flex-applications-using-the-externalinterface-api/#more-555

不美如何 2024-09-07 11:11:13

我所做的就是“放置一个中间人”。所以基本上,我放置了一个 php 脚本,它从另一端读取我需要的内容。是的,不幸的是,这需要一个“服务器”。您也可以尝试 JavaScript。

What I did was "put a middle man". So basically, I put a php script that reads from the other side what I need. Yes, unfortunately, that requires a "server". You could try a JavaScript as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文