返回织梦建站服务网首页 业界新闻 教程文档 资源下载 酷站鉴赏 免费服务 站长工具
织梦建站工作室
织梦建站论坛
载入中…
专题栏目
最新热门
>>更多热门...  
最新推荐
>>更多推荐...  
  您现在的位置: 织梦建站服务网 >> 建站教程 >> WEB多媒体 >> Flash >> 教程正文
AS3中与服务器交互            
HITS: TIME:2007-4-27 9:57:37 AUTHOR:mirycat URL:蓝色理想
CONTENT INTRODUCE :
放大文字  缩小文字  发表评论  加入站内收藏夹  告诉好友  打印模式  关闭窗口 

AS3 中使用URLRequest 和URLLoader 与服务器交互

AS3 中使用 URLLoader 与 URLRequest 取代了先前版本 LoadVars 方法. 初学者可能又会迷糊了.
在现在帮助系统没有完善的情况下 (Flash 9 没有帮助, Flex Builder 2 的只有英文), 这里写篇简单的教程, 方便大家往 AS3 过渡.

在 AS3 中, 有关于网络操作的内置类全部在 flash.net 里. 下面是本教程要用到的类的清单 :

URLLoader : 用于从网络或者本地读取文件, 可以通过设置他的 dataFormat 属性改变收到的文本类型.
与 AS2 的 LoadVars 不同的是, 他的默认值 URLLoaderDataFormat.TEXT 即纯文本格式, 所以在读取外部文本变量的时候得修改一下他的 dataFormat 为URLLoaderDataFormat.VARIABLES. 不过在 AS2 中没有该属性, 取代的是contentType 属性.

URLRequest : 用于传递变量到服务器, 以及 URLLoader 要 load 的目标路径. 可以通过设置他的 contentType 属性改变发送到服务器的变量类型, 默认是 application/x-form-urlencoding, 也就是 URLEncode 编码.

URLVariables : 用于配置传递到服务器变量的键 / 值集合, 如user1=Kakera&user2=Eigo.

URLLoaderDataFormat : 用于设置 URLLoader 读取文件的类型, 有 TEXT (纯文本), VARIABLES (URLEncoding 的键 / 值集合), BINARY (2 进制格式), URLLoader 会根据相应的类型进行解码操作, 如解码 URLEncode

同时还有其他不常用的 :
URLRequestMethod : 决定使用哪种方式传递数据到服务器, POST 或者 GET.
URLReqeustHeader : 用于配置传递到服务端的 HTTP 标头.

值得一提的是, URLLoader 还有相当完整的事件让我们来获取读取数据的状态, 下面是有关 URLLoader 事件的清单.

complete : 使用 URLLoader.load() 方法后, 数据完全加载完毕时触发, 通常如果能够触发这个事件的话, 说明你的程序没有问题.

httpStatus : 使用 URLLoader.load() 方法后, 获取 HTTP 状态代码时触发, 通过判断他的 state 属性我们可以获得远程文件的加载状态. 成功 (200), 没有权限 (403), 找不到文件 (404), 服务器内部错误 (500) 等等. 这个事件总是在 compelete 之前被触发.

ioError : 使用 URLLoader.load() 方法时, 发生致命错误时触发, 我还没碰到过..

open : 使用 URLLoader.load() 方法后, 开始从服务器下载数据时触发一次, 此时的 URLLoader.bytesLoaded 一定是 0.

progress : 使用 URLLoader.load() 方法后, 在从服务器下载数据的过程中持续触发, 通过侦听他的变化我们可以很方便的为 URLLoader 做加载状态的显示.

securityError : FlashPlayer 的安全错误, 比如跨域加载, 从硬盘 (文件系统) 发送 / 读取服务器上的数据.

关于注册侦听器的建议

flashplayer 内置类的所有事件都有相关事件类常量来表示, 推荐使用他们来注册事件侦听器. 而所有的内置类的事件类 (Event) 全部在 flash.events 包中,如使用:

import flash.events.Event;
urlLoaderInstance.addEventListener(Event.COMPLETE, completeHandler);

来代替

urlLoaderInstance.addEventListener("complete", completeHandler);

下面是 URLLoader 支持的事件所对应类的清单, 他们可以在 Flex Builder 2 的文档中找到:

complete : Event.COMPLETE
httpStatus : HTTPStatusEvent.HTTP_STATUS
ioError : IOErrorEvent.IO_ERROR
open : Event.OPEN
progress : ProgressEvent.PROGRESS
securityError : SecurityErrorEvent.SECURITY_ERROR

然后下面是使用 URLLoader 的一些简单的例子

1. 单纯的读取服务器或者硬盘上同目录下叫 Variables.txt 文本文件, 文本的内容是:

user1=Kakera&user2=Eigo&user3=Keirago

LoadVariablesOnly.fla

代码拷贝框

[Ctrl+A 全部选择 然后拷贝]

2. 提交数据到 ServerSide.asp, 并输出服务器的返回值

ServerSide.asp

代码拷贝框

[1] [2] 下一页

教程录入:jerome    责任编辑:jerome 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    相关教程
    win 2003 server的一些优化设置
    浅谈flash web的结构
    A*寻路,二叉堆优化及AS3实现
    Apollo是危险的吗?
    Apollo 开发技巧
    APOLLO 未来畅想
    Flash纯脚本生成饼图
    基于flash的360虚拟现实引擎实现
    XML动态菜单
    Flash破解与加密
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备05010790号 {$Wap}
    关于我们 | 版本历史 | 联系方法 | 隐私条例 | 链接我们 | 广告服务 | 常见问题 | 友情链接 | 网站公告 | 设为首页 | 收藏本站
    Copyright © 2001-2006 17zm.NET All Rights Reserved.  织梦建站工作室[织梦建站工作室]™荣誉出品. Since 2001