下面类支持POST和GET请求,请求数据和出错将返回

package com.sole.util
{
import flash.events.Event;
import flash.events.HTTPStatusEvent;
import flash.events.IEventDispatcher;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables; public class HttpConnent
{
/**请求的url*/
public var url:String;
/**请求的参数*/
public var urlVariables:URLVariables;
// public var resultStr:String;
public var inputstream:Object; private var urlLoader:URLLoader;
private var request:URLRequest; public var completeFun:Function;
public var errFun:Function; /**
*连接提交请求
* @method 请求类型
* post或get 默认post
* @isstream 是否数据流请求
*/
public function gotoConn(method:String=URLRequestMethod.POST,isstream:Boolean=false):void{
urlLoader = new URLLoader();
//URLLoader 类以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据
request= new URLRequest(url);
request.method = method;//设置请求的类型
if(isstream){
request.contentType= "application/octet-stream";
request.data=inputstream;
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
}
if(urlVariables)
request.data = urlVariables;//将url请求的数据放入request中 configureListeners(urlLoader);//给urlloader对象添加监听事件
try {
urlLoader.load(request);//开始发送请求
} catch (error:Error) {
trace(error);
urlLoader.close();
}
} private function configureListeners(dispatcher:IEventDispatcher):void {
//加载完成事件;
dispatcher.addEventListener(Event.COMPLETE, loaderHandler);
//开始访问事件;
dispatcher.addEventListener(Event.OPEN, loaderHandler);
//加载进度事件;
dispatcher.addEventListener(ProgressEvent.PROGRESS, loaderHandler);
//跨域访问安全策略事件;
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loaderHandler);
//Http状态事件;
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, loaderHandler);
//访问出错事件;
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler);
}
private function loaderHandler(event:*):void
{
switch(event.type) {
case Event.COMPLETE:
trace("成功: ");
if(completeFun!=null){
completeFun.call(null,event);
}
break;
case Event.OPEN:
trace("open: " + event);
break;
case ProgressEvent.PROGRESS:
trace("progress: " + event);
break;
case SecurityErrorEvent.SECURITY_ERROR:
trace("securityError: " + event);
if(errFun!=null){
errFun.call(null);
}
break;
case HTTPStatusEvent.HTTP_STATUS:
trace("httpStatus: " + event);
break;
case IOErrorEvent.IO_ERROR:
trace("ioError: " + event);
if(errFun!=null){
errFun.call(null);
}
break; }
} }
}

调用该方法

var url:String="";
var variables:URLVariables = new URLVariables();
variables.ID = UserID; var http:HttpConnent=new HttpConnent();
http.url=url;
http.urlVariables=variables;
http.completeFun=customerNumberFun;
http.errFun=customerNumberErrFun;
http.gotoConn(URLRequestMethod.GET);

Flex http请求的更多相关文章

  1. 【教程】【FLEX】#002 请求服务端数据(UrlLoader)

    为什么Flex需要请求服务端读取数据,而不是自己读取? Flex 是一门界面语言,主要是做界面展示的,它能实现很多绚丽的效果,这个是传统Web项目部能比的. 但是它对数据库和文件的读写 没有良好的支持 ...

  2. Flex弹出窗口请求Action函数

    Flex弹出窗口请求Action函数 private function askQuestion(event:MouseEvent):void { var askQuestions:AskWindow ...

  3. Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

    http://www.fengfly.com/plus/view-191093-1.html Flex+Struts2+JSON的后台代码我在这就不多说了.不懂得请看我写的上一篇文章<Strut ...

  4. arcgis for flex全国地图天气预报的具体实现过程解析

    系统架构是B/S,开发语言是flex,开发工具是myeclise或者flashbuild,通过调用百度提供的在线天气预报web api接口的方式来实现. 采用地图是ArcGIS全国地图,开发接口为ar ...

  5. Flex box弹性布局 及 响应式前端设计的优化

    Flex box弹性布局 Flex box是CSS3新添加的一种模型属性,它的出现有力的打破了我们常常使用的浮动布局.实现垂直等高.水平均分.按比例划分,可以实现许多我们之前做不到的自适应布局.如果你 ...

  6. React Native 网络请求

    如下面的Code,分别介绍了GET,POST,以及使用XMLHttpRequest的Get请求. import React, { Component } from 'react'; import { ...

  7. flex+java+blazeds 多通道好文

    http://www.cnblogs.com/noam/archive/2010/08/05/1793504.html blazeds, spring3整合实现RPC服务和消息服务 环境: MyEcl ...

  8. react-native-http请求后navigator导航跳转

    琢磨react-native有一段时间了.对于我来说,它的确是前端开发工作者的福音,因为我可以利用它来写app的代码,而且基本可以一套代码,多个平台使用. 早就想写一篇随笔记录一下react nati ...

  9. Flex Viewer (二)——体系结构

    一.概述 在上一篇文章<深入浅出Flex Viewer (一)——概述>中,笔者对Flex Viewer用于构建以地图为中心的富客户端(RIA)应用的原型的功能和价值做了简要地介绍.在本文 ...

随机推荐

  1. cacti监控apache和nginx的配置

    一.监控apache1.下载http://forums.cacti.net/about25227.html&highlight=apachestats2.其中的ss_apache_stats. ...

  2. Given a compiled machine-language program, which statements in the source language cause the execution of the most machine-language instructions and what is the execution time of these instr

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION A  variety  of  studi ...

  3. Android中Parcelable接口用法

    from: http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html Interface for classes wh ...

  4. wpf 将Style应用到 ListView 中的 ListViewItem 元素

    例: 为每个条目元素设置右键菜单 1. 新建右键菜单元素和样式元素 注意: 同时设置样式元素的 TargetType 属性和 x:Key 属性, 将样式元素限定为应用于 ListViewItem 类型 ...

  5. __weak

    需要使用弱引用的 三种情况: 1. 如果这个block不被持有,那么你完全没有必要使用__weak 2. 如果被持有了,那么__weak是必然的 3. 如果在多线程并发的情况下,不仅要使用__weak ...

  6. CentOS-7.0.中安装与配置Tomcat-7的方法

    安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...

  7. 千万级SQL Server数据库表分区的实现

    千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server ...

  8. Windows Server 2008 R2 DNS服务器迁移

    一.实验模拟环境: Zhuyu公司有一个DNS服务器,因DNS服务器比较老旧,准备迁移至新的DNS服务器上(DNS备份也可以这么操作). 旧DNS服务器: 主机名: test-zhuAD        ...

  9. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  10. 1029-c语言文法的理解

    <程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...