如果是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()
%>