使用Flex获取URL查询字符串

4星 · 超过85%的资源 需积分: 9 2 下载量 51 浏览量 更新于2024-09-15 收藏 1KB TXT 举报
"Flex get QueryString 是一个用于获取和处理URL查询字符串的ActionScript类,主要在Flex应用程序中使用。这个类允许开发者从当前页面URL中提取查询参数,并以对象形式进行操作。" 在Flex开发中,有时我们需要从URL中获取特定的信息,如查询参数,这些参数通常以键值对的形式存在于URL的问号(?)后面。`Flex get QueryString` 类就是为了方便这种操作而设计的。以下是对这个类中各个部分的详细解释: 1. **QueryString类结构**: 类定义了一个私有变量`_queryString`来存储URL的查询字符串,`_all`用来保存整个URL,以及`_params`对象用于存储解析后的查询参数。 2. **公共方法**: - `getqueryString()`: 返回当前URL的查询字符串,即URL中`?`后面的部分。 - `geturl()`: 返回完整的URL。 - `getparameters()`: 返回一个对象,该对象的属性是查询参数的键,属性值是对应的值。 3. **构造函数**: `QueryString()` 构造函数调用了 `readQueryString()` 方法来初始化和解析查询字符串。 4. **私有方法**: - `readQueryString()`: 这个方法通过调用Flash的`ExternalInterface`来获取当前页面的URL,并从中提取查询字符串。它首先尝试调用JavaScript的`window.location.href` 和 `window.location.search` 来获取URL信息,然后使用`split('&')`将查询字符串分割成多个键值对,再进一步解析每个键值对,将它们添加到 `_params` 对象中。 5. **错误处理**: 在解析过程中,如果`ExternalInterface`在独立播放器中不可用,会捕获到`Error`异常,并打印一条错误消息。 6. **使用示例**: 创建一个名为 `qs` 的实例,可以像下面这样使用这个类: ```actionscript private var qs:QueryString = new QueryString(); var params:Object = qs.getparameters(); trace(params["key"]); // 如果URL中有 "key=value",则会输出 "value" ``` 通过这个`QueryString`类,开发者可以轻松地在Flex应用中处理URL查询字符串,从而实现与服务器端或JavaScript之间的数据交互。这个类对于那些需要根据URL参数动态改变应用程序行为的场景非常有用。