sendAndLoad和Redirect的測(cè)試as
更新時(shí)間:2007年07月23日 00:00:00 作者:
今天我們來(lái)測(cè)試下當(dāng)SWF文件將參數(shù)以POST方式傳給s1.asp,而s1.asp中有Redirect方法轉(zhuǎn)到s2.asp,s2.asp有Redirect方法轉(zhuǎn)到s3.asp時(shí),SWF返回的是由哪個(gè)文件產(chǎn)生的值?
1.測(cè)試過(guò)程
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中可以看到返回的結(jié)果為“/s3.asp mzwu back”,很明顯,這個(gè)結(jié)果是由s3.asp產(chǎn)生的。那我們就可以得出結(jié)論:當(dāng)多個(gè)頁(yè)面中存在Redirect時(shí),SWF返回的將是最終頁(yè)面產(chǎn)生的值!
2.無(wú)需crossdomain.xml的跨域訪問(wèn)
眾所周知,SWF要進(jìn)行跨域訪問(wèn)時(shí),除了發(fā)布成EXE格式,就只能在受訪服務(wù)器上布署crossdomain.xml文件了,但實(shí)際上多數(shù)情況是我們需要將Flash文件插入到頁(yè)面中(只能是SWF格式)進(jìn)行跨域訪問(wèn),并且受訪域我們沒(méi)有操作權(quán)限(無(wú)法布署crossdomain.xml文件)!
基于第1點(diǎn)的測(cè)試結(jié)果,我們可以將SWF文件、s1.asp、s3.asp布署在我們自己的服務(wù)器上,s2.asp是受訪問(wèn)域上的文件。我們將上邊文件代碼稍做修改再次進(jìn)行測(cè)試:
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"))
%>
結(jié)果仍是"/s3.asp mzwu back",很明顯,我們通過(guò)一些方法實(shí)現(xiàn)了不需crossdomain.xml的跨域訪問(wèn)!網(wǎng)銀在線支付的實(shí)現(xiàn)原理其實(shí)也就是:企業(yè)站點(diǎn)→在線支付接口→企業(yè)站點(diǎn),那用Flash做個(gè)支付界面會(huì)很難嗎?:)
1.測(cè)試過(guò)程
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中可以看到返回的結(jié)果為“/s3.asp mzwu back”,很明顯,這個(gè)結(jié)果是由s3.asp產(chǎn)生的。那我們就可以得出結(jié)論:當(dāng)多個(gè)頁(yè)面中存在Redirect時(shí),SWF返回的將是最終頁(yè)面產(chǎn)生的值!
2.無(wú)需crossdomain.xml的跨域訪問(wèn)
眾所周知,SWF要進(jìn)行跨域訪問(wèn)時(shí),除了發(fā)布成EXE格式,就只能在受訪服務(wù)器上布署crossdomain.xml文件了,但實(shí)際上多數(shù)情況是我們需要將Flash文件插入到頁(yè)面中(只能是SWF格式)進(jìn)行跨域訪問(wèn),并且受訪域我們沒(méi)有操作權(quán)限(無(wú)法布署crossdomain.xml文件)!
基于第1點(diǎn)的測(cè)試結(jié)果,我們可以將SWF文件、s1.asp、s3.asp布署在我們自己的服務(wù)器上,s2.asp是受訪問(wèn)域上的文件。我們將上邊文件代碼稍做修改再次進(jìn)行測(cè)試:
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"))
%>
結(jié)果仍是"/s3.asp mzwu back",很明顯,我們通過(guò)一些方法實(shí)現(xiàn)了不需crossdomain.xml的跨域訪問(wèn)!網(wǎng)銀在線支付的實(shí)現(xiàn)原理其實(shí)也就是:企業(yè)站點(diǎn)→在線支付接口→企業(yè)站點(diǎn),那用Flash做個(gè)支付界面會(huì)很難嗎?:)
相關(guān)文章
AS3.0 實(shí)例學(xué)習(xí) 熟悉tween以及tweenEvent的運(yùn)用
AS3.0 實(shí)例學(xué)習(xí) 熟悉tween以及tweenEvent的運(yùn)用...2007-12-12
在Flash中用as實(shí)現(xiàn)lrc歌詞動(dòng)態(tài)顯示
在Flash中用as實(shí)現(xiàn)lrc歌詞動(dòng)態(tài)顯示...2007-03-03

