首页蓝耳朵|小小蓝耳朵广州图书馆外文室英语儿童读物资源介绍网佛教青年之友旧版收集永硕E盘Phonics Short Vowels Game 
在flash里访问网页,以post方式提交数据,获取返回值
所属栏目:Flash  时间:2011-11-14 21:22  作者:狼子
在flash里访问网页,以post方式提交数据,获取返回值

就是用了URLRequest、URLVariables、URLLoader三个东东,即:
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.net.URLRequestMethod;


URLVariables比较好玩,是用"名称"="值"的方式设置的,比如要提交的参数有:
na="NNLL"
pa="123456"
设置的时候,可以直接用na、pa:
variables.na = "nnll";
variables.pa = "123456";


看下面的方法:

private function submitInPostWay(event:MouseEvent)
{
var url:String = "http://127.0.0.1/getData.asp";
var myRequest:URLRequest = new URLRequest(url);
myRequest.method = URLRequestMethod.POST;
//参数
var variables:URLVariables = new URLVariables();
variables.myName = "NNLL";
variables.myPwd = "12345678";
myRequest.data = variables;
//访问网页,添加侦听
loader = new URLLoader(myRequest);
loader.addEventListener(Event.COMPLETE, completeListener);
}

function completeListener(event:Event):void
{
//获取侦听到的数据
trace(loader.data);
}


这里设置method那一行,如果设置为:
myRequest.method = URLRequestMethod.GET;
数据会以get方式提交,即以地址栏地址参数的形式提交,数据不能大于2k,多个参数之间以&相隔


以下是getData.asp文件,这个文件很简单,只是接收get方式或post方式提交的数据,再显示出来,只是用来测试的
<%
getName = request.queryString("myName")
getPwd = request.queryString("myPwd")

if getName <> "" then
response.write("it is getting data. name: " & getName & ", pass:" & getPwd)
response.end
end if

postName = request.form("myName")
postPwd = request.form("myPwd")
if postName <> "" then
response.write("it is posting data. name: " & postName & ", pass:" & postPwd)
response.end
end if

response.write("no data")
%>
小楼宝宝的涂鸦花花(Imitater)的博客起名称骨测字皖ICP备06000023号-17