AS3中以post和get方式提交数据

这里主要介绍在as3中用URLRequest对像来post或get数据到服务器。

post用于大数据量的提交,get用于小数据量的提交。

as3中提交数据:

POST方式:

1新建一个test.fla,里面有一个按钮"submit",两个文本框"txt1"和"txt2";
再新建一个test.as文件,test.fla中将类指向test.as;

2文件结构部署完后,开始写逻辑。先定义一个url,用来接收提交的数据:

var url:String =
"http://localhost:2240/service.ashx";

3再构造一个存储数据的URLVariables对像,并添加两个参数aa和bb(等会在.net后台将会获取aa和bb的值),txt1是一个文本框:

var
_data:URLVariables = new URLVariables(); _data.aa = txt1.text; _data.bb =
txt2.text;

4接下来再创建一个URLRequest对像,它包含HTTP 请求的所有信息,如目标 URL、请求方法(GET 或 POST)、附加标头信息以及 MIME 类型(例如,当上传 XML 内容时)。

var
_request:URLRequest = new URLRequest(); _request.url = url; _request.method =
URLRequestMethod.POST; _request.data = _data;

5有了URLRequest对像后,我们还需要将其发送出去,这时可以用URLLoader来载入URLRequest,这时,请求也就发送出去了。因为URLLoader URL 的数据在下载完成之前不可用,所以要侦听COMPLETE事件来判断请求是否下载完成:

var
loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,completeHandler); loader.load(_request);

其实可以不需要用URLLoader,直接使用sendToURL方法将URLRequest发送出去:

sendToURL(_request);

sendToURL只负责发送,发送后不管是否成功,有点类似于UDP哦。

6最后,验证 URLLoader下载的数据,也就是侦听到COMPLETE后所要执行的方法:

private function
completeHandler(evt:Event):void{ if(String(evt.target.data) ==
"success"){ trace("submit success"); } else{
trace("submit failed"); } }

aspx页面获取参数

protected void
Page_Load(object sender, EventArgs e)

{

string para = Request.Form["aa"];

string para2 = Request.Form["bb"];

LogHelper.Info(para);

Response.Write("我收到了");

}

GET方式

var url:String = "http://localhost:2240/service.ashx?param=123";

var
_request:URLRequest = new URLRequest();

_request.url = url; _

request.method =
URLRequestMethod.GET;

var
loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,completeHandler); loader.load(_request);

aspx页面获取参数

protected void
Page_Load(object sender, EventArgs e)

{

string para = Request.QueryString["param"];

LogHelper.Info(para);

Response.Write("我收到了");

}

转:http://blog.sina.com.cn/s/blog_5f91efbe0100uump.html

上一篇:AS3中的单件(Singleton)模式


下一篇:(转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用