包 | mx.rpc.http |
类 | public dynamic class HTTPMultiService |
继承 | HTTPMultiService AbstractService Proxy |
子类 | HTTPMultiService |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
<mx:HTTPMultiService>
标记表示一个 http 操作集合。每个标记都具有 URL、方法、参数和返回类型。
可以设置属性(如 HTTPMultiService 标记上的 URL 和方法)来充当在每个单独的操作标记上设置的值的默认值。HTTPMultiService 的 URL 充当在 http 操作标记上设置的任何相对 url 的基本 url(即前缀)。每个 HTTP 操作都包含一个 send()
方法,用于将 HTTP 请求发送给指定的 URL 并返回 HTTP 响应。
可以将用于将数据放入 HTTP 请求的参数传递给指定 URL。contentType 属性指定一个 MIME 类型,此类型用于确定在网络中传输的数据格式(例如 HTTP 表单编码或 XML)。
也可以使用序列化过滤器实现自定义 resultFormat(例如 JSON)。如果没有使用基于服务器的代理服务,则只能使用 HTTP GET 或 POST 方法。如果将 useProxy
属性设置为 true 并使用基于服务器的代理服务,则还可以使用 HTTP HEAD、OPTIONS、TRACE 和 DELETE 方法。
注意:与 HTTPService 类不同,HTTPMultiService 类不定义 request
属性。
注意:与 HTTPService 一样,由于软件限制,当使用 GET 而不使用代理时,HTTPMultiService 不会生成用户友好的错误消息。
默认 MXML 属性operationList
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
baseURL : String
HTTPService 对象在计算相对 URL 时应使用的 URL。 | HTTPMultiService | ||
channelSet : ChannelSet
提供对服务使用的 ChannelSet 的访问。 | AbstractService | ||
concurrency : String
指示如何处理对服务中同一操作的多个调用的值。 | HTTPMultiService | ||
contentType : String = "application/x-www-form-urlencoded"
服务请求的内容类型。 | HTTPMultiService | ||
destination : String
服务的目标。 | AbstractService | ||
headers : Object
发送到第三方端点的自定义 HTTP 标头。 | HTTPMultiService | ||
makeObjectsBindable : Boolean = true
如果为 true,则返回的对象支持将数据绑定到 UI 控件。 | HTTPMultiService | ||
managers : Array
managers 属性存储修改此服务行为的数据管理器的列表。 | AbstractService | ||
method : String = "GET"
用于在未对操作显示设置方法的情况下发送请求的 HTTP 方法。 | HTTPMultiService | ||
operationList : Array
此属性用作此实例的默认属性,以便我们可以在 MXML 中将一组操作定义为 HTTPMultiService 标记的直接子项。 | HTTPMultiService | ||
operations : Object
如果使用 MXML 标签创建服务,则操作数组通常仅由 MXML 编译器设置。 | AbstractService | ||
requestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。 | AbstractService | ||
resultFormat : String
指示如何反序列化由 HTTP 调用返回的结果的值。 | HTTPMultiService | ||
serializationFilter : SerializationFilter 未显式设置 serializationFilter 的所有操作使用的默认 serializationFilter | HTTPMultiService | ||
showBusyCursor : Boolean
如果为 true,在执行服务时会显示忙状态光标。 | HTTPMultiService | ||
useProxy : Boolean
指定是否使用 Flex 代理服务。 | HTTPMultiService |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建一个新的 HTTPService。 | HTTPMultiService | ||
断开此服务的网络连接并删除任何未处理的请求 responder。 | AbstractService | ||
返回给定名称的操作。 | AbstractService | ||
调用以初始化服务。 | AbstractService | ||
将用户从目标中注销。 | AbstractService | ||
当在服务器端使用 Data Services 时,为服务访问的目标设置凭据。 | AbstractService | ||
当在服务器端使用 Data Services 时,用于在访问远程第三方端点(例如通过代理访问 Web 服务或通过自定义适配器访问远程对象)时对用户进行身份验证的用户名和密码。 | AbstractService |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
当 HTTPMultiService 调用失败时调度。 | HTTPMultiService | |||
只要在通道尝试发送消息前没有引发错误,当调用 HTTPMultiService 调用时,将引发 invoke 事件。 | HTTPMultiService | |||
当 HTTPMultiService 调用成功返回时调度。 | HTTPMultiService |
baseURL | 属性 |
public var baseURL:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
HTTPService 对象在计算相对 URL 时应使用的 URL。这包含一个在设置任何 URL 时置于其前面的前缀。该属性默认为 null,在这种情况下,使用 SWF 的 URL 计算相对 URL。
concurrency | 属性 |
concurrency:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指示如何处理对服务中同一操作的多个调用的值。此处设置的并发设置将用于未指定并发的操作。直接设置了并发设置的单个操作将忽略此处设置的值。默认值为 multiple
。允许使用的值包括:
multiple
不取消现有请求,开发人员通过谨慎管理事件流来负责确保返回数据的一致性。这是默认值。single
一次操作仅允许执行一个请求;多个请求会生成错误。last
发出请求会取消所有现有请求。
实现
public function get concurrency():String
public function set concurrency(value:String):void
contentType | 属性 |
public var contentType:String = "application/x-www-form-urlencoded"
服务请求的内容类型。默认值为 application/x-www-form-urlencoded
(同带有名称/值对的常规 HTTP POST 使用相同方式发送请求)。application/xml
将请求按 XML 发送。
headers | 属性 |
public var headers:Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
发送到第三方端点的自定义 HTTP 标头。如果需要以相同名称发送多个标头,应将值指定为一个数组。这些头被发送给所有操作。也可以在操作级别设置头。
makeObjectsBindable | 属性 |
public var makeObjectsBindable:Boolean = true
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果为 true
,则返回的对象支持将数据绑定到 UI 控件。这意味着它们在改变其属性值时发送 PropertyChangeEvents。未显式设置 makeObjectsBindable 属性的任何操作都默认为此值。
method | 属性 |
public var method:String = "GET"
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
用于在未对操作显示设置方法的情况下发送请求的 HTTP 方法。允许的值有 GET
、POST
、HEAD
、OPTIONS
、PUT
、TRACE
和 DELETE
。将小写字母转换为大写字母。默认值为 GET
。
operationList | 属性 |
resultFormat | 属性 |
resultFormat:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指示如何反序列化由 HTTP 调用返回的结果的值。该项目的值根据以下条件确定:
- 返回的是 XML 还是名称/值对。
- 访问结果的方式;可以将结果作为 object、text 或 XML 进行访问。
默认值为 object
。允许使用的值包括:
object
返回的值为 XML 并且按照 ActionScript 对象树分析。此为默认。array
返回的值是 XML 并且按照 ActionScript 对象树分析。但是,如果顶级对象不是数组,将创建一个新数组并且将结果设置为第一个项目。如果 makeObjectsBindable 为 true,则该数组将被包装在 ArrayCollection 中。xml
返回的值为 XML 并且作为 ActionScript XMLnode 对象中的文本 XML 返回。flashvars
返回的值是包含由 & 符号分隔的名称=值对的文本,该文本被分析为 ActionScript 对象。text
返回的值为文本并且未经处理。e4x
返回的值为 XML 并且作为 ActionScript XML 对象中的文本 XML 返回,可以使用 ECMAScript for XML (E4X) 表达式进行访问。
实现
public function get resultFormat():String
public function set resultFormat(value:String):void
serializationFilter | 属性 |
public var serializationFilter:SerializationFilter
未显式设置 serializationFilter 的所有操作使用的默认 serializationFilter
showBusyCursor | 属性 |
useProxy | 属性 |
useProxy:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指定是否使用 Flex 代理服务。默认值为 false
。如果没有对通过 Flex 服务器的代理请求指定 true
,则必须确保播放器可以到达目标 URL。如果 useProxy
属性设置为 false
,则也不可以使用 services-config.xml 文件中定义的目标。
默认值为 false。
实现
public function get useProxy():Boolean
public function set useProxy(value:Boolean):void
HTTPMultiService | () | 构造函数 |
public function HTTPMultiService(baseURL:String = null, destination:String = null)
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
创建一个新的 HTTPService。如果希望服务使用相对 URL 发送,则可能希望指定 baseURL
,以作为确定完整 URL(例如 Application.application.url
)的基础。
baseURL:String (default = null ) — HTTPService 在计算相对 URL 时应使用的 URL。
| |
destination:String (default = null )
|
fault | 事件 |
mx.rpc.events.FaultEvent
属性 FaultEvent.type =
mx.rpc.events.FaultEvent.FAULT
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
当 HTTPMultiService 调用失败时调度。
FAULT 事件类型。事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | true,通过关联标记的 responder.fault 方法调用 preventDefault() 将防止服务或操作调度此事件。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
fault | 包含导致此事件原因的详细信息的 Fault 对象。 |
message | 与此事件相关联的 Message。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
token | 表示方法调用的标记。用于异步完成标记模式。 |
invoke | 事件 |
mx.rpc.events.InvokeEvent
属性 InvokeEvent.type =
mx.rpc.events.InvokeEvent.INVOKE
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
只要在通道尝试发送消息前没有引发错误,当调用 HTTPMultiService 调用时,将引发 invoke 事件。
INVOKE 事件类型。事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
token | 表示对方法单独调用的标记。用于异步完成标记模式。 |
cancelable | true |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
message | 与此事件关联的请求 Message。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
result | 事件 |
mx.rpc.events.ResultEvent
属性 ResultEvent.type =
mx.rpc.events.ResultEvent.RESULT
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
当 HTTPMultiService 调用成功返回时调度。
RESULT 事件类型。事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | true,通过关联标记的 responder.result 方法调用 preventDefault() 将防止服务或操作调度此事件。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
message | 与此事件相关联的 Message。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
result | RPC 调用返回的结果。 |
token | 表示对方法单独调用的标记。用于异步完成标记模式。 |
Tue Jun 12 2018, 11:04 AM Z