flash与ASP通信的几种方法

焦CYN191rvy

焦CYN191rvy

2016-01-29 13:26

flash与ASP通信的几种方法,flash与ASP通信的几种方法

一个例子简单的描述了如何通过GET方法向服务器端的ASP发送请求:

_root. pushAction = function(URL) {
this.loadVariables(URL, "GET");
}
var ask = true;
var pushURL = "http://localhost/test/return.asp?ask="+ ask;
pushAction (pushURL);
_root.onEnterFrame = fuction(){
               trace(_root.output);
}
    这里首先定义了一个名为pushAction的函数,在loadVariables函数中使用了GET参数。然后定义了一个名为ask的布尔型变量,用来向服务器传递变量。最后使用pushAction函数向服务器上的一个名为return的ASP页面发送GET请求。如果需要对这样的请求作出处理,在ASP中,URL行的分析结果存在于Request对象中,比如下例:
return.asp

< %@ Language="JScript" %
< %
//声明并定义接受请求的变量
var str_getask= Request.QueryString("ask");
//声明并定义返回信息变量
var str_Msg = "Sorry! Your request tread awry.";
//如果接受到的变量为true,则返回成功消息
if (str_getask == "true"){
  str_Msg = "OK! Your request succeed!";
}
Response.write("output=" + str_Msg);
%
    这样,一个名字为output,值为str_Msg的变量就发送回Flash Player中,可以在flash中以output的名字引用这个变量。当然我们必须注意服务器在处理这个过程中是需要时间的,因此最后那个onEnterFrame用来测试是否有变量返回.

二、使用LoadVars

loadVariables提供了一种简单的方法让我们可以从服务器端的ASP或者PHP页面载入变量,除了使用GET方法,它还可以使用POST方法将客户端提交的数据传递给服务器。然而在处理大量客户端与服务器端交互的信息时,使用过多的loadVariables语句会让整个程序的维护性和可读性变得复杂。在Flash MX的Action中,新增加了一个LoadVars的对象,并将它和XML,XMLSocket对象一起归纳于Client/Server对象之下。LoadVars 对象是 loadVariables 动作的替代方法,它能够提供一种更好的结构向服务器发送和返回信息。一个典型的LoadVars对象使用的例子如下:
//构造一个新的LoadVars对象
myload = new LoadVars();
//设定myload的动作,以便服务器验证
myload.action = "post";
//验证和服务器连接的函数
myload.onLoad = function(success) {
//如果和服务器成功连接则…
if (success) {
//如果验证动作成功则…
  if (this.conn == "1") {
         //将返回对象中的output变量赋值给场景中var为output的Dynamic Text框
   _root.output = this.output;
  }
} else {
        //如果和服务器连接不成功则返回失败消息,需要检查路径是否正确
  _root.output = "Can’t connect to Server";
}
};
//Dynamic Text的初始值为一个等待消息
_root.output = "Waiting for response...";
//将myload下的变量发送到服务器端,并将服务器返回的数据结果放在myload对象中
myload.sendAndLoad("http://localhost/test/return.asp", myload, "post");
//myload.sendAndLoad("http://localhost:8001/test/return.php",myload, "post");    在场景中以一个var名为output的Dynamic Text框来接受来自服务器的消息。使用LoadVars,我们可以利用sendAndLoad方法将一个LoadVars的实体下的所有变量发送出去,并将服务器返回的数据结果存储到一个目标对象中,其中conn,output都是从服务器发送回来的,我们还利用了其onLoad事件函数来检验其是否将信息发送到了服务器页面,再利用从服务器传回来的数据(this.conn)来验证信息是否正确。服务器页面的代码如下:
ASP return.asp:
< %@Language="JScript"%
< %
var str_Msg;
var action;
var conn;
action = Request.Form("action");
if (action == "post"){
    str_Msg = "OK! return a Msg to you!";
    conn = 1;
}
Response.write("conn=" + conn + "&output=" + str_Msg);
%
PHP return.php:


< php
$action = $HTTP_POST_VARS["action"];
if ($action == "post") {
    $str_Msg = "OK! return a Msg to you!";
    $conn = 1;
}
echo "conn=" . $conn . "&output=" . $str_Msg;
?;    如果本例执行成功,则会在Flash Player中出现成功画面,如图所示。如果失败,则返回失败

展开更多 50%)
分享

猜你喜欢

flash与ASP通信的几种方法

flash教程
flash与ASP通信的几种方法

在ASP中调用存储过程的几种方法

Web开发
在ASP中调用存储过程的几种方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP中页面限权访问的几种方法

ASP
ASP中页面限权访问的几种方法

javascript和Flash的通信

Web开发
javascript和Flash的通信

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

遍历Hashtable 的几种方法

编程语言 网络编程
遍历Hashtable 的几种方法

冬季养胃的几种方法

冬季养生 健康
冬季养胃的几种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

结合AJAX的PHP开发之后退、前进和刷新(4)

结合AJAX的PHP开发之后退、前进和刷新(4)

在DataGrid中添加Radio单选按钮列

在DataGrid中添加Radio单选按钮列
下拉加载更多内容 ↓