zoukankan      html  css  js  c++  java
  • 积少成多Flash(3) ActionScript 3.0 基础之以文本形式、XML形式和JSON形式与ASP.NET通信

    [索引页]
    [源码下载]


    积少成多Flash(3) - ActionScript 3.0 基础之以文本形式、XML形式和JSON形式与ASP.NET通信


    作者:webabcd


    介绍
    Flash ActionScript 3.0 以文本形式与ASP.NET通信、以XML形式与ASP.NET通信和以JSON形式与ASP.NET通信


    示例
    Text.aspx.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class Text : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            
    string s = "name: " + Request.QueryString["name"+ "; age: " + Request.QueryString["age"];

            Response.ClearContent();
            Response.ContentType 
    = "text/plain";
            Response.Write(s);
            Response.End();
        }

    }


    Xml.aspx.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class Xml : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            
    string s = @"<?xml version=""1.0"" encoding=""utf-8""?>
                <root>
                    <person name=""webabcd"" age=""27"">
                        <salary>1000</salary>
                    </person>
                    <person name=""webabcdefg"" age=""37"">
                        <salary>2000</salary>
                    </person>
                    <person name=""webabcdefghijklmn"" age=""47"">
                        <salary>3000</salary>
                    </person>
                </root>
    ";

            Response.ClearContent();
            Response.ContentType 
    = "text/xml";
            Response.Write(s);
            Response.End();
        }

    }


    JSON.aspx.cs
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class JSON : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {
            Person person 
    = new Person();
            person.Name 
    = "webabcd";
            person.Age 
    = 27;

            HttpContext.Current.Response.ClearContent();
            
    // HttpContext.Current.Response.ContentType = "application/json";
            HttpContext.Current.Response.ContentType = "text/plain";

            
    // 把person对象序列化成JSON
            System.Runtime.Serialization.DataContractJsonSerializer dcjs = new System.Runtime.Serialization.DataContractJsonSerializer(person.GetType());
            dcjs.WriteObject(HttpContext.Current.Response.OutputStream, person);

            HttpContext.Current.Response.End();
        }

    }


    /// <summary>
    /// Person类
    /// </summary>

    [System.Runtime.Serialization.DataContract]
    public class Person
    {
        
    private string _name;
        
    /// <summary>
        
    /// 姓名
        
    /// </summary>

        [System.Runtime.Serialization.DataMember]
        
    public string Name
        
    {
            
    get return _name; }
            
    set { _name = value; }
        }


        
    private int _age;
        
    /// <summary>
        
    /// 年龄
        
    /// </summary>

        [System.Runtime.Serialization.DataMember]
        
    public int Age
        
    {
            
    get return _age; }
            
    set { _age = value; }
        }

    }



    Net.as
    package
    {
        import flash.display.Sprite;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.net.URLVariables;
        import flash.net.URLRequestMethod;
        import flash.events.Event;
        
        
    // 对JSON的支持
        import com.adobe.serialization.json.JSON;
        
        public class Net extends Sprite
        
    {
            public 
    function Net()
            
    {
                
    // 以文本形式与ASP.NET通信
                showText();
                
                
    // 以XML形式与ASP.NET通信
                showXml();
                
                
    // 以JSON形式与ASP.NET通信
                showJSON();
            }

            
            
    // 以文本形式与ASP.NET通信
            function showText():void
            
    {
                
    var v:URLVariables = new URLVariables("name=webabcd&age=27");
                
    var r:URLRequest = new URLRequest();
                r.url 
    = "http://localhost:1343/Web/Text.aspx";
                r.method 
    = URLRequestMethod.GET;
                r.data 
    = v;
                
                
    var l:URLLoader = new URLLoader();
                l.load(r);
                l.addEventListener(Event.COMPLETE, textCompleteHandler);
            }

            
            
    function textCompleteHandler(event:Event):void
            
    {
                
    var l:URLLoader = URLLoader(event.target);
                
                trace(l.data);
                
    // output: name: webabcd; age: 27
            }

            
            
    // 以XML形式与ASP.NET通信
            function showXml():void
            
    {
                
    var v:URLVariables = new URLVariables()
                
    var r:URLRequest = new URLRequest();
                r.url 
    = "http://localhost:1343/Web/Xml.aspx";
                r.method 
    = URLRequestMethod.GET;
                r.data 
    = v;
                
                
                
    var l:URLLoader = new URLLoader();
                l.load(r);
                l.addEventListener(Event.COMPLETE, xmlCompleteHandler);
            }

            
            
    function xmlCompleteHandler(event:Event):void
            
    {
                
    var l:URLLoader = event.target as URLLoader;
                
    var xml:XML = new XML(l.data);
                
                
    for each(var v in xml.person)
                
    {
                    trace(
    "姓名:" + v.@name + ";年龄:" + v.@age + ";薪水:" + v.salary);
                }

                
    // output: 
                // 姓名:webabcd;年龄:27;薪水:1000
                // 姓名:webabcdefg;年龄:37;薪水:2000
                // 姓名:webabcdefghijklmn;年龄:47;薪水:30
            }

            
            
    // 以JSON形式与ASP.NET通信
            function showJSON():void
            
    {
                
    var v:URLVariables = new URLVariables()
                
    var r:URLRequest = new URLRequest();
                r.url 
    = "http://localhost:1343/Web/JSON.aspx";
                r.method 
    = URLRequestMethod.GET;
                r.data 
    = v;
                
                
                
    var l:URLLoader = new URLLoader();
                l.load(r);
                l.addEventListener(Event.COMPLETE, jsonCompleteHandler);
            }

            
            
    function jsonCompleteHandler(event:Event):void
            
    {
                
    var l:URLLoader = event.target as URLLoader;
                
                
    var v:* = JSON.decode(l.data);
                
                trace(
    "姓名:" + v.Name + ";年龄:" + v.Age);
                
    // output: 姓名:webabcd;年龄:27
            }

        }

    }


    OK
    [源码下载]
  • 相关阅读:
    简单介绍数据流动的控制
    数据再寄存器中的暂时保存
    八位三态数据通路控制器的逻辑电路设计讲解
    什么是同步有限状态机???
    verilog逻辑复制
    流水线经典讲解!!!!!
    流水线(pipe-line)简介
    总线(BUS)和总线操作
    多路选择器(multiplexer)简介
    使用telnet发送HTTP请求
  • 原文地址:https://www.cnblogs.com/webabcd/p/959813.html
Copyright © 2011-2022 走看看