flash中打开网页,以及用GET/POST二种方式向服务端发送数据
02 |
btnOpen.addEventListener(MouseEvent.CLICK, |
08 |
btnSend.addEventListener(MouseEvent.CLICK, |
10 |
sendToURL( new URLRequest( "/default.aspx?q=" + encodeURIComponent (txtId.text)));
|
12 |
btnPost.addEventListener(MouseEvent.CLICK,fnPostData); |
15 |
function fnPostData(e:MouseEvent) {
|
16 |
var _urlReq:URLRequest = new URLRequest();
|
17 |
_urlReq.url = "/default.aspx" ;
|
18 |
_urlReq.method = URLRequestMethod.POST; |
19 |
var _data:URLVariables = new URLVariables();
|
1 |
protected void Page_Load( object sender, EventArgs e)
|
3 |
string q = Request[ "q" ];
|
4 |
if (! string .IsNullOrEmpty(q)) {
|
5 |
string _file = Server.MapPath( "~/log.txt" );
|
6 |
File.AppendAllText(_file,q + "\t" + Request.HttpMethod + "\t" + DateTime.Now + Environment.NewLine);
|
如果发送了数据后,还要响应服务端的结果(比如取得服务端的返回值,再继续到Flash中处理),Flash中可这样写:
01 |
var loader:URLLoader = new URLLoader();
|
02 |
configureListeners(loader); |
03 |
var request:URLRequest= new URLRequest( "/FlashHander.ashx?q=" + encodeURIComponent ( "菩提树下的杨过" ));
|
06 |
} catch (error:Error) {
|
07 |
trace ( "Unable to load requested document." );
|
11 |
function configureListeners(dispatcher:IEventDispatcher): void {
|
12 |
dispatcher.addEventListener(Event.COMPLETE, completeHandler); |
13 |
dispatcher.addEventListener(Event.OPEN, openHandler); |
14 |
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); |
15 |
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); |
16 |
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); |
17 |
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); |
21 |
function completeHandler(event:Event): void {
|
22 |
var loader:URLLoader=URLLoader(event.target);
|
23 |
trace ( "completeHandler: " + loader.data);
|
24 |
lblReceive.text = loader.data;
|
25 |
var var s:URLVariables= new URLVariables(loader.data);
|
26 |
trace ( "The Method is " + var s.Method);
|
30 |
function openHandler(event:Event): void {
|
31 |
trace ( "openHandler: " + event);
|
35 |
function progressHandler(event:ProgressEvent): void {
|
36 |
trace ( "progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
|
40 |
function securityErrorHandler(event:SecurityErrorEvent): void {
|
41 |
trace ( "securityErrorHandler: " + event);
|
45 |
function httpStatusHandler(event:HTTPStatusEvent): void {
|
46 |
trace ( "httpStatusHandler: " + event);
|
50 |
function ioErrorHandler(event:IOErrorEvent): void {
|
51 |
trace ( "ioErrorHandler: " + event);
|
服务端FlashHander.ashx可以这样处理:
注意:返回的字符串格式为 name1=value1&name2=value2&name3=value3... 如果name和value中本身包含"="与"&",请注意用其它字符替换掉
02 |
/// Summary description for FlashHander |
04 |
public class FlashHander : IHttpHandler
|
06 |
public void ProcessRequest(HttpContext context)
|
08 |
context.Response.ContentType = "text/plain" ;
|
09 |
context.Response.Write( "msg=Hello World&Method=" + context.Request.HttpMethod + "&q=" + context.Request[ "q" ]);
|
11 |
public bool IsReusable
|
Flex中如何打开网页及Get/Post数据 转,布布扣,bubuko.com
Flex中如何打开网页及Get/Post数据 转