|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 在.net中我们晓得有一个叫做WebHttpRequest的器材,用它我们能够完成各类收集窃看,监控,收罗和呆板人,假如外加一
个形式辨认,那真是吊爆了。。。
在as中我们也能够完成一样的功效,并且我们能够共同js来做到跨域,收罗cookie等等一些用户举动剖析,也算是web开辟中
的一把利器。
一:构建与内部程序的通讯
1:一样平常要三个步骤
<1>利用UrlRequest创立哀求工具。
<2>利用UrlLoader载进哀求工具,然后就能够收回哀求了。
<3>监听UrlLoader工具,经由过程各类事务来反应处置的了局。
二:构建UrlRequest
上面来看看UrlRequest中的经常使用属性
1:url
这个很复杂了,哀求网址,能够是相对也能够是绝对的。
2:method
写过ajax都晓得,它是用来把持窗体的提交体例是post仍是get,甚么get不克不及年夜于2k,post无穷制等等。
3:requestHeader
我们晓得摹拟提交城市在http的head中追加各类参数来棍骗服务器端,假装本人是实在的工资哀求。
4:data
就是哀求时附带给服务器真个数据,用json格局,url的kv情势都能够,但必需用URLVariables举行封装。
5:复杂的demo- varurl="http://localhost:25212/index.aspx";varvari:URLVariables=newURLVariables();vari.data="{"id":"2"}";varreq:URLRequest=newURLRequest(url);req.data=vari;req.method=URLRequestMethod.POST;
复制代码 三:构建UrlLoader工具
<一>:在as中,一切的UrlRequest都必要用UrlLoader来装载才干举行与后端程序举行交互,同时供应了5个事务来监听以后哀求的情况。
1:open事务
哀求操纵入手下手时实行的事务
2:progress事务
经常使用监控下载进度,能够经由过程byteloaded和bytetotal来及时检察“已加载的数据”和“总数据”。
3:complete事务
乐成加载数据后挪用的事务,也是最经常使用的。
4:ioError事务
就像ajax一样,哀求失利的时分挪用的事务。
<二>:当远程前往数据的时分,数据城市保留在urlloader中data属性里,固然数据前往的时分是甚么范例,取决与我们在post
的时分指定的URLLoaderDataFormat。
1:URLLoaderDataFormat.TEXT
指定以后前往data值必需是text值,固然这也是默许值。
2:URLLoaderDataFormat.BINARY
偶然候我们Flash必要加载web真个二进制数据的时分,这时候候就要指定BINARY属性。
3:URLLoaderDataFormat.VARIABLES
这个就是指定包括的数据是一个经由url编码的数据,以是我们用VARIABLES举行解码。- //用urlloader举行装载varloader:URLLoader=newURLLoader(req);loader.addEventListener(Event.COMPLETE,onComplete);loader.addEventListener(IOErrorEvent.IO_ERROR,onError);//哀求加载完成functiononComplete(e:Event):void{trace(loader.data);}
复制代码 大致上就如许了,上面我们做个实行,向服务器传送json由服务器端举行处置。
1:服务端代码,只是将哀求参数原样前往- publicpartialclassIndex:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){vardata=Request.Form["data"];Response.Write("祝贺,数据哀求乐成~"+data);}}
复制代码
2:as代码- importflash.net.URLLoader;importflash.net.URLRequest;importflash.events.Event;importflash.text.TextField;importflash.utils.Timer;importflash.events.TimerEvent;varurl="http://localhost:25212/index.aspx";varvari:URLVariables=newURLVariables();vari.data="{"id":"2"}";varreq:URLRequest=newURLRequest(url);req.data=vari;req.method=URLRequestMethod.POST;//用urlloader举行装载varloader:URLLoader=newURLLoader(req);loader.addEventListener(Event.COMPLETE,onComplete);loader.addEventListener(IOErrorEvent.IO_ERROR,onError);//哀求加载完成functiononComplete(e:Event):void{trace(loader.data);}//io哀求毛病functiononError(e:IOErrorEvent):void{trace("对不起,数据哀求毛病");}
复制代码
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。 |
|