sendAndLoad和Redirect的测试as

所属分类: 网页制作 / Flash 阅读数: 1836
收藏 0 赞 0 分享
今天我们来测试下当SWF文件将参数以POST方式传给s1.asp,而s1.asp中有Redirect方法转到s2.asp,s2.asp有Redirect方法转到s3.asp时,SWF返回的是由哪个文件产生的值?

1.测试过程

ActionScript:
 程序代码
on (release) {
    var myvar = new LoadVars();
    myvar.s = "mzwu";
    myvar.sendAndLoad("s1.asp",myvar,"post");
    myvar.onLoad = function(re){
        if(re){
            t2.text = myvar.url;
        }else{
            t2.text = "加载失败!";
        }
    }
}
s1.asp:
 程序代码
<%
Response.Redirect("s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
 程序代码
<%
Response.Redirect("s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
 程序代码
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>

SWF中可以看到返回的结果为“/s3.asp mzwu back”,很明显,这个结果是由s3.asp产生的。那我们就可以得出结论:当多个页面中存在Redirect时,SWF返回的将是最终页面产生的值!

2.无需crossdomain.xml的跨域访问

众所周知,SWF要进行跨域访问时,除了发布成EXE格式,就只能在受访服务器上布署crossdomain.xml文件了,但实际上多数情况是我们需要将Flash文件插入到页面中(只能是SWF格式)进行跨域访问,并且受访域我们没有操作权限(无法布署crossdomain.xml文件)!

基于第1点的测试结果,我们可以将SWF文件、s1.asp、s3.asp布署在我们自己的服务器上,s2.asp是受访问域上的文件。我们将上边文件代码稍做修改再次进行测试:

ActionScript:
 程序代码
on (release) {
    var myvar = new LoadVars();
    myvar.s = "mzwu";
    myvar.sendAndLoad("s1.asp",myvar,"post");
    myvar.onLoad = function(re){
        if(re){
            t2.text = myvar.url;
        }else{
            t2.text = "加载失败!";
        }
    }
}
s1.asp:
 程序代码
<%
Response.Redirect("http://free.66ip.com/test07/s2.asp?s=" & Request.Form("s"))
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s2.asp:
 程序代码
<%
Response.Redirect("http://www.mzwu.com/s3.asp?s=" & Request.QueryString("s") & " back")
Response.Write("url=" & Request.ServerVariables("URL"))
%>
s3.asp:
 程序代码
<%
Response.Write("url=" & Request.ServerVariables("URL") & " " & Request.QueryString("s"))
%>

结果仍是"/s3.asp mzwu back",很明显,我们通过一些方法实现了不需crossdomain.xml的跨域访问!网银在线支付的实现原理其实也就是:企业站点→在线支付接口→企业站点,那用Flash做个支付界面会很难吗?:) 
更多精彩内容其他人还在看

Flex程序开发心得小结

和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。
收藏 0 赞 0 分享

关于FLASH与XML交互应用中的理解

关于XML在FLASH中的应用,以前写过几篇。也收集了几篇来自网络的。不过,都是一些非常简单而常用的。在这里,我把XML的其他相关说明总结一下。有不足之处,希望大家能相互补充。只为了一个共同的目的:共同提高。
收藏 0 赞 0 分享

Flash Event写法

flash下event事件驱动方法
收藏 0 赞 0 分享

AS3自写类整理笔记 ClassLoader类第1/2页

在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来
收藏 0 赞 0 分享

AS3自写类整理笔记:ByteLoader类

该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来 以便于使用Loader.loadBytes方法,重复加载使用素材 如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示
收藏 0 赞 0 分享

AS3自写类整理笔记 Dot类第1/2页

拖拽物体1和物体2,就可以看到效果了 index.base.geom.Dot类讲解 基本功能:记录xy两点
收藏 0 赞 0 分享

AS3 中的package(包)应用实例代码

初学者在学习AS3时会遇到什么样的问题呢?只有从初学的角度来实践,才能知道,package 这个高手们必玩的内容,对初学者来说或许就有一些困惑。
收藏 0 赞 0 分享

swfupload使用代码说明

终于在天哪joyous的帮助下,花了一天的时间,搞明白大部分内容. swfupload(以下简称su)遇到的主要问题就是,版本不同造成的极大差异, 现在的版本已经到2.1beta。我用的是2.02版,天哪用的是1.xx版。
收藏 0 赞 0 分享

Flex中最好的MVC框架Mate框架

个人感觉Mate框架非常适合开发一般运用程序,可以提高开发效率,节约成本,同时也比较好维护。但如果要做游戏或是其它控制更强的程序并不适合。
收藏 0 赞 0 分享

Flex 创建复数行文本内容的List

效果不错的flex多行文本
收藏 0 赞 0 分享
查看更多