简单介绍Flex与Web服务端的交互
简单介绍信Flex与Web服务的交互
主要内容:
1.ActionScript与服务端的基本交互方式(REST).
2.ActionScript特有的数据传输格式(AMF)与服务器交互.
3.Flex与WebService.
要实现ActionScript与服务端交互, 首先必须知道以下几个类:
URLRequest类
记录请求服务端的URL信息, 给URLLoader进行发送操作.
URLVariables类
保存向服务端请求所需的参数, 一般用于POST方式传输,GET方式传输不需要使用.
URLRequestMethod类
该类只有两个静态常量值, 一个是POST, 一个是GET, 可以把它当作是一个枚举类型, 用于指定URL请求时使用POST方式或是GET方式.
URLLoader类
真正与服务端打交道的类, 通过load方法把一个Reuqest发送给服务端, 在load之前必须给该对象添加一个Complete事件的监听器,接收服务器返回的信息. 传输过程中有可能产生IO错误, 有必要时可以为该对象添加IOError监听器.
例子:
var request: URLRequest = new URLRequest("http://localhost");
//默认为URLRequestMethod.GET, 若使用GET方式可以不指定
request.method = URLRequestMethod.POST;
//创建一个参数变量对象,用于保存所有向服务发送的参数数据, GET方式可以不使用
var vars: URLVariables = new URLVariables ();
vars["varName"] = varValue; //把参数键,值对放到vars对象中.
vars["var2Name"] = var2Value;
request.data = vars; //把参数对象放进Request对象中作为参数
// 通过request对象创建一个loader,
var loader: URLLoader = new URLLoader(request);
loader.addEventListener( //给loader对象添加完成时的监听器.
Event.COMPLETE,
function(e: Event):void //临时定义一个监听器
相关文档:
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<mx:Application xmlns:mx=
"http://www.adobe.com/2006/mxml"
xmlns:assql=
"com.maclema.mysql.mxml.*"
& ......
用FLEX如何取浏览器地址栏中的域名信息?我查找到两种方法:
第一种方法是用ExternalInterface.call('window.location.href.toString'),它的值就是地址栏中的域名
有以下几点需要注意:
1.当Flash和加载它的网页不同域时,需要在网页在 PARAM 或 EMBED 标签中进行设置AllowScriptAccess 为“always”
关于 ......
用FLEX来开发应用难免不了要使用到Module,FLEX组件提供了ModuleLoader组件,该组件使用方式类似与swfLoader,但是通常仅仅使用该组件并不能满足我们的需求,这时FLEX为我们提供了ModuleManager,可以实现动态的载入不同的模块。
module分为两种,一种是完整的,一种是关联到主程序的,在新建Module时可以选择module swf s ......
本例中将实现当应用运行时不进行任何操作就先弹出窗口,点击关闭/点击窗口任一位置 时将关闭窗口
1)创建Component—DefaultWin.mxml (目录结构src/components/DefaultWin.mxml)
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
  ......
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
private var loader:URLLoader = new URLLoader();
private var request:URLRequest = new URLRequest("a.txt");
private function initComplete():void
{
  ......