【问题标题】:pass parameters to HTTPService and use them inside the URL将参数传递给 HTTPService 并在 URL 中使用它们
【发布时间】:2009-08-02 09:50:16
【问题描述】:

Flex3 + 凯恩戈姆。我在 Servicis.mxml 中有我的服务:

<mx:HTTPService id="docIndex" url="{URL_PREFIX}/jobs/{???}/docs" resultFormat="e4x"/>

我从我的通用 restful 委托中这样称呼它:

public function index(params:Object):void {
        var call:AsyncToken = services.getHTTPService(resourceName+"Index").send(params);
        call.addResponder(responder);
    }

我想知道如何使用我在 url 定义中传递的 params 对象(上面的 ???)。请告诉我您将如何在文档中搜索此问题的答案,我希望对这些问题更加独立...

编辑:如果您不理解我的问题,我会解释自己: 我有一个用 Rails 编写的宁静 api,我正在连接。 Doc 是 Job 的子资源。如果我想获取所有文档,我也必须提供一个 job_id。因此,在服务中,必须为每个 .send() 调用更改 url,并使用正确的 job_id(上面的 ??? 部分)。我想将其命名为 myDelegate.index({job_id:34}) 并将该 job_id 字段插入到服务 URL 中。

【问题讨论】:

  • 你在这里寻找什么样的行为真的不是很明显。您能否澄清一下 {???} 与 params 对象的内容相关的内容?不是如何做到这一点,因为那是你最初来到这里的原因,而是为什么。
  • 好的:我有一个用 Rails 编写的宁静 api,我正在连接。 Doc 是 Job 的子资源。如果我想获取所有文档,我也必须提供一个 job_id。因此,在服务中,必须为每个 .send() 调用更改 url,并使用正确的 job_id(??? 部分)。我想将其命名为 myDelegate.index({job_id:34}) 并将该 job_id 字段插入到服务 URL 中。现在清楚了吗?

标签: apache-flex actionscript-3 flex3 mxml cairngorm


【解决方案1】:

编写一个扩展 HTTPService 并允许您在 url 中设置参数的类。然后,在您的索引函数中,您可以使用 services.getHTTPService 获取它,并调用您创建的为您设置 url 值的函数。

在您的服务定位器中创建您的类的实例而不是平面 HTTPService。

【讨论】:

  • 我会尝试.. 你认为 getHTTPService 即使在我的子类中也能工作?
  • 是的,应该的,因为你的http服务仍然是一个HTTPService
猜你喜欢
  • 2012-05-09
  • 2022-11-25
  • 2012-03-26
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多