Flash与.NET的通信(三):LoadVars对象的应用

[size=3][b]一.知识简介:([url=javascript:;][u][b][color=#333333]Flash[/size][/color][/b][/u][/url] MX Professional 2004帮助文档)[/b]
    [url=javascript:;][u][b][color=#333333]LoadVars[/color][/b][/u][/url] 类用于在 Flash 应用程序和服务器之间传输变量。使用 LoadVars 类可以在下载时[url=javascript:;][u][b][color=#333333]获取[/color][/b][/u][/url]成功数据加载、进度指示和流数据的验证信息。LoadVars 类的工作原理非常类似于 [url=javascript:;][u][b][color=#333333]XML[/color][/b][/u][/url] 类;它使用方法 load()、send() 和 sendAndLoad() 与服务器进行通讯。LoadVars 类和 XML 类之间的主要差别在于 LoadVars 传输动作脚本的名称和值对,而不是 XML 对象中存储的 XML DOM 树。LoadVars 类与 XML 类遵循相同的安全限制。
[size=3][b]二.主要应用对象知识:[/b][/size]
[color=#cc3333][b]     1.LoadVars.onLoad[/b]
[/color]       用法:
       my_lv.onLoad = function(success) {// 此处是您的语句}
       参数:
       success 该参数指示加载操作是成功完成 (true) 还是以失败结束 (false)。
       返回:一个布尔值。
       说明:
       事件处理函数;当 LoadVars.load() 或 LoadVars.sendAndLoad() 操作结束时调用。如果该操作成功,my_lv 将填充为该操作所下载的变量,而这些变量将在调用此处理函数时变为可用。此方法与 XML.onLoad() 相似。
[b][color=#cc3333]     2.LoadVars.sendAndLoad()[/color][/b]
       用法:
       my_lv.sendAndLoad([url=javascript:;][u][b][color=#333333]url[/color][/b][/u][/url], targetObject[, method])
       参数:
       url 要将变量上传到的 URL。如果发布此调用的 SWF 文件运行在 Web 浏览器上,则 url 必须与 SWF 文件位于同一个域中;targetObject 接收下载变量的 LoadVars 对象。method HTTP 协议的 GET 或 POST 方法。
       返回:字符串。
       说明:
       将 my_lv 对象中的变量发布到指定的 URL。将下载服务器响应,并将其作为变量数据进行分析,然后将结果变量放在 targetObject 对象中。变量发布的方式与 LoadVars.send() 相同。变量下载到 targetObject 中的方式与 LoadVars.load() 相同。在运行于 Flash Player 7 以前版本的播放器的 SWF 文件中,url 必须与发布此调用的 SWF 文件位于同一个超级域中。有关更多信息,请参见关于允许跨域数据加载。此方法与 XML.sendAndLoad() 相似。
[b]代码及注释
[/b][color=#006666][b][size=2]Actionscrīpt
  [/size][/color][/b][b][size=2][color=#009900] stop();
   var reVar:LoadVars = new LoadVars();//定义接收服务器的返回信息(reVar)
   var sendVar:LoadVars = new LoadVars();//定义发送到服务器的信息(sendVar)
   sendVar.NumA = 1;//初始化发送到服务器的变量NumA = 1
   sendVar.NumB = 2;//初始化发送到服务器的变量NumB = 2
   reVar.Value = 0;//初始化接收变量值Value = 0
   reVar.onLoad = getServerInfo;
sendVar.sendAndLoad("您的URL",reVar,"POST");
   trace("服务器处理中...");
   function getServerInfo(Success:Boolean)
   {
      if(Success)
      {
          trace(reVar.Value)
      }
      else
      {
          trace("服务器处理失败!");
      }
   }[/size][/color]
ASP.NET C#
    [/b][color=#009900][size=2][b]protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Form["NumA"] != null && Request.Form["NumA"] != null)
        {
            try
            {
                int A = Convert.ToInt32(Request.Form["NumA"].ToString());
                int B = Convert.ToInt32(Request.Form["NumB"].ToString());
                int C = A + B;
                Response.Write("Value=" + C.ToString());
            }
            catch
            {
                Response.Write("Value=服务器错误!");
            }
        }
        else
        {
            Response.Write("Value=数据发送错误!");
        }
    }
[/b][/size][/color][color=#000000][size=2]注意:
您的ASP.NET页面的HTML代码删除,只留页面声明,不然通过Response.Write()回发给Flash的数据将包含HTML代码。[/size][/color]
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/2109.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值