AS3.0 URLLoader类与ASP通信AS3.0如何读取ASP传过来的参数AS3.0中有LoadVar类吗

如果是AS2,就比较简单。

var xianshi_lv = new LoadVars();
xianshi_lv.sendAndLoad("test.asp",xianshi_lv,"post");
xianshi_lv.onLoad = function(chenggong) {
  if (chenggong) {
    trace(xianshi_lv.xiangxi)
  } else {
  }
};

AS3就稍微复杂些。

import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
System.useCodePage=true;
var my_urlloader:URLLoader=new URLLoader();
my_urlloader.load(new URLRequest("index.asp"));
my_urlloader.dataFormat = URLLoaderDataFormat.VARIABLES;
my_urlloader.addEventListener(Event.COMPLETE,_loaded);
function _loaded(e:Event):void {
  var loader2:URLLoader = URLLoader(e.target);
  trace(loader2.data.xiangxi);
}

其中这句很关键:
my_urlloader.dataFormat = URLLoaderDataFormat.VARIABLES;
如果ASP的编码是utf-8,则去掉System.useCodePage=true;这句。

如果是读取的数据库中的数据。。。
而数据中包括类似于换行等情况,则需要在FLASH中拆分一下。

import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
//System.useCodePage=true;
var my_urlloader:URLLoader=new URLLoader();
my_urlloader.load(new URLRequest

("http://www.taoshaw.com/demo/demotest/index.asp"));
my_urlloader.dataFormat = URLLoaderDataFormat.TEXT;
my_urlloader.addEventListener(Event.COMPLETE,_loaded);
function _loaded(e:Event):void
{
  var loader2:URLLoader = URLLoader(e.target);
  var obj:Object = parse(loader2.data);
  //trace(obj.xiangxi);
  txt.htmlText=obj.xiangxi;
}

function parse(str:String):Object
{
  var re:Object = {};          
  var tmp:Array = str.split("&");
  var len:int = tmp.length;
  if(len > 0)
  {
    for(var i:int=0;i<len;i++)
    {
      var item:Array = tmp[i].split("=");
      if(item.length == 2)
      {
        re[item[0]] = item[1];
      }
    }
  } 
  return re;
}

asp中代码:
<%
response.write("xiangxi=
联系我们的内容!")
%>

读取数据库中的数据:

<%
on error resume next
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "provider=microsoft.jet.oledb.4.0;Data

source="&Server.MapPath("data.asp")
conn.Open connstr
%>
<%
uid=request.QueryString("id")
set rs=conn.execute("select * from lxwm")
dim shuju
shuju=rs("neirong")
Response.Write("&xiangxi="+shuju)
%>
<%
//
关闭记录集对象
rs.Close()
//
关闭连接对象
conn.Close()
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值