中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 多媒體制作 > FLASH與ASP通信原理入門
使用 Flex 上傳文件 回到列表 FLASH基礎開發(fā)習慣
 FLASH與ASP通信原理入門

作者:jimohuoshan 時間: 2006-12-14 文檔類型:原創(chuàng) 來自:藍色理想

第 1 頁 簡介
第 2 頁 LV類基礎講解
第 3 頁 ASP中基本的輸入輸出
第 4 頁 LV與ASP通訊原理
第 5 頁 ASP操作數(shù)據(jù)庫入門
第 6 頁 LV與ASP綜合運用之一
第 7 頁 LV與ASP綜合運用
第 8 頁 其它通訊方式原理淺談

經(jīng)過前兩節(jié)的學習,我們已經(jīng)熟悉了LV類的使用,以及ASP的基本格式和輸入輸出了,F(xiàn)在我們就來看看這兩樣東西是怎么融合到一起的。還記得我在講LV類的基本知識時所舉的TXT那個例子嗎?LV與TXT通訊時,TXT中的數(shù)據(jù)需要寫成“變量/值”配對的格式,其實必須寫成這種格式并不是由TXT決定的,它是由LV的特性決定的,也就是說,LV與文本文件通訊需要“變量/值”這種數(shù)據(jù)格式。ASP文件其實也是文本文件,ASP與LV進行通訊的時候,它所輸出的內容格式也就必須遵循“變量/值”配對的規(guī)則。

好吧,讓我們從代碼中來一個直觀的體驗吧,我們還用“★LV類基礎講解”那一節(jié)中舉的那個傳遞多個變量的例子,還記得那個TXT文件的名字吧:“l(fā)v_shiyan.txt”,好的,現(xiàn)在我們直接把“l(fā)v_shiyan.txt”改成“l(fā)v_shiyan.asp”,同樣把“l(fā)v_shiyan.fla”代碼中shiyan_lv.load("lv_shiyan.txt")這句里的lv_shiyan.txt也替換為lv_shiyan.asp,然后直接在FLASH編輯環(huán)境中按Ctrl+Enter測試影片,我們發(fā)現(xiàn)輸出窗口輸出:“戰(zhàn)勝LoadVar類!/戰(zhàn)勝ASP!/我能做FLASH留言板了!”,跟修改之前一樣。
昏!這樣也可以。窟@算什么?是FLASH與ASP的通訊嗎?怎么不需要IIS都行?那是FLASH與TXT通訊嗎?可人家的后綴名明明是“.asp”嘛。科鋵嵾@里火山也不是很明白,但我更偏向于把它理解成FLASH與ASP的通訊,只是因為這個ASP文件中沒有ASP語句,不需要IIS支持就能顯示內容而已。如果你非要討個說法,最保守的回答是:FLASH與文本文件的通訊:)

呵呵:)好了,不忽悠大家了。上面那一段搞不清楚沒關系,其實我從TXT過渡到ASP的目的還是想更直觀的告訴大家:FLASH顯示ASP中的內容跟TXT是一致的。只要我們想辦法把ASP輸出的數(shù)據(jù)格式搗鼓成“變量/值”配對就行了!

在TXT中又繞了這么長時間,大家著急了吧,好的,現(xiàn)在我要玩真的了,ASP正式登場:
首先我們把“l(fā)v_shiyan.asp”中的內容改成如下形式:

★LV與ASP通訊原理<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
Response.Write("&neirong1_txt=戰(zhàn)勝LoadVar類!&neirong2_txt=戰(zhàn)勝ASP!&neirong3_txt=我能做FLASH留言板了!&");
%>

我們先在IIS下運行一下,網(wǎng)頁中會顯示如下內容:

★LV與ASP通訊原理
&neirong1_txt=戰(zhàn)勝LoadVar類!&neirong2_txt=戰(zhàn)勝ASP!&neirong3_txt=我能做FLASH留言板了!&

恩。吭趺茨敲囱凼彀,恭喜你,答對了,這不正是“l(fā)v_shiyan.txt”中的內容嘛!只不過“★”后的標題換成這節(jié)的標題了:)好的,那么,聰明的你,現(xiàn)在是否已經(jīng)預料到我下一步想干什么呢?恭喜你,你又答對了,你怎么那么聰明呢,下一步當然就是在FLASH中顯示這些數(shù)據(jù)拉。說干就干,回到“l(fā)v_shiyan.fla”的編輯環(huán)境中,再次按Ctrl+Enter測試影片。哈哈,成功了!輸出窗口顯示:“戰(zhàn)勝LoadVar類!/戰(zhàn)勝ASP!/我能做FLASH留言板了!”,哈哈哈哈——哎!說你呢,你笑什么?我高興是因為我終于又把你忽悠了,你笑什么呢?看看我們的“l(fā)v_shiyan.asp”文件,我們明明已經(jīng)寫了ASP語句了啊,可怎么還是不需要IIS支持就能直接在FLASH編輯環(huán)境中顯示呢?難道我們的FLASH軟件是在IIS下運行的嗎?這當然不可能,那到底怎么會事。亢俸伲海┖昧,不頭痛大家了,其實,在我們第一次把“l(fā)v_shiyan.txt”直接改成“l(fā)v_shiyan.asp”并運行影片測試的時候,“l(fā)v_shiyan.asp”中的數(shù)據(jù)已經(jīng)被讀入內存,后來盡管我們又把“l(fā)v_shiyan.asp”中的內容改成了ASP特有的輸出格式,但由于文件名字沒改變,運行影片測試的時候,F(xiàn)LASH還是會直接從內存中提取已經(jīng)存儲過的內容,而上次的內容正好不需要IIS就能顯示,碰巧而已:)

那如何顯示新內容呢?我們只需要利用隨機函數(shù)給ASP傳遞一個沒有實際意義的變量就可以了。我們可以把加載ASP的語句改成下面的樣子:

shiyan_lv.load("lv_shiyan.asp?bianliang="+random(9999));

現(xiàn)在再次在FLASH中測試影片,發(fā)現(xiàn)輸出窗口顯示以下提示:

加載失敗
Error opening URL "file:///E|/flashlianxi/flash與asp練習/FLASH與ASP通訊入門級教程/lv_shiyan.asp?bianliang=5624"

恩。坑钟袉栴}了,不是說“bianliang”沒有實際意義嗎?怎么會導致“Error opening URL”呢?呵呵:)其實這里說的“沒有實際意義”是針對ASP來說的,更確切的說,是針對瀏覽器的,還記得我在“★ASP中基本的輸入輸出”一節(jié)中講的GET傳遞方式嗎?如果忘了一會兒可以回去復習下。其實我的建議是你先跟著我的進度把每節(jié)徹底弄明白,等我寫完后,再通讀一邊,然后你就完全可以自己動手做個留言板了。接上面的,既然這個“沒有實際意義”不是針對FLASH的,那FLASH肯定就不認識了,它會把“l(fā)v_shiyan.asp?bianliang=5624”全部當成文件名,所以當然找不到這個文件了。

是該撥開云霧見晴天的時候了。現(xiàn)在我們先在“l(fā)v_shiyan.fla”中添加一個動態(tài)文本域,并命名為“wenben_txt”,然后把輸出代碼改動一下,讓本來在輸出窗口顯示的內容顯示在動態(tài)文本域里,具體改動是把下面第一行代碼換成第二行:
trace("您載入的文本內容是:"+neirong1+"/"+neirong2+"/"+neirong3);
wenben_txt.text = neirong1+"/"+neirong2+"/"+neirong3;
好了,最后再發(fā)布“l(fā)v_shiyan.swf”和“l(fā)v_shiyan.html”到與ASP文件相同的文件夾下,并在IIS下運行“l(fā)v_shiyan.html”,你會看到SWF的動態(tài)文本域里顯示“戰(zhàn)勝LoadVar類!/戰(zhàn)勝ASP!/我能做FLASH留言板了!”,現(xiàn)在你終于可以放心的歡呼了:我們終于可以把ASP輸出的內容顯示在FLASH里了,哈哈……。

先喝口水吧,一眨眼快兩個小時了,我怎么寫的那么慢啊,加油加油!上面講的其實是ASP怎么向FLASH傳遞資料,這不是真正意義上的交互,交互是雙方互動的,現(xiàn)在我們就來看看FLASH怎么向ASP傳遞資料。在此之前請保證你還記得我在“★ASP中基本的輸入輸出”一節(jié)中講的ASP是怎么接收一個變量的,我們還用那一節(jié)所用的“asp_jichu.asp”文件,當時我是通過GET方式直接在瀏覽器地址欄中對“neirong_wangzhi”進行賦值的,并且測試證明ASP確實通過Request接收到了這個變量的值,F(xiàn)在我們就是要讓FLASH做地址欄做的事,我們要通過FLASH對“neirong_wangzhi”進行賦值。

在正式開始之前,我們還有以下工作要完成

1,在“l(fā)v_shiyan.fla”中再添加一個按鈕,命名為“tijiao_btn”。
2,把“wenben_txt”這個動態(tài)文本域改成輸入文本域,取消HTML輸出,并更名為:“shuru_txt”。
3,再添加一個動態(tài)文本域,用來接收從ASP傳回的資料,命名為:“shuchu_txt”。
4,把“asp_jichu.asp”中的內容改成下面的內容:
★ASP中基本的輸入輸出<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
var neirong;
//獲取從FLASH傳遞過來的變量
neirong=Request("neirong_flash");
//輸出要返回到FLASH中的內容
Response.Write("&fanhui_asp=哈,你輸入的內容已經(jīng)傳遞給ASP,并且又已經(jīng)從ASP返回到FLASH了,你輸入的內容是:"+neirong);
%>

5,最后把“l(fā)v_shiyan.fla”中的代碼改成下面的內容:
System.useCodepage = true;
var shiyan_lv = new LoadVars();
tijiao_btn.onRelease = function() {
  //獲得輸入的文本內容,并把這個內容記錄在變量“neirong_flash”中
  //這里相當于已經(jīng)對變量“neirong_flash”進行了賦值
  shiyan_lv.neirong_flash = shuru_txt.text;
  //將LV對象中儲存的所有變量都傳遞給ASP,不過這里我們只設定了一個,就是我們的“neirong_flash”
  //向ASP傳遞成功后,我們再把從ASP傳遞回來的變量還儲存在“shiyan_lv”對象中
  shiyan_lv.sendAndLoad("asp_jichu.asp?bianliang="+random(9999), shiyan_lv, "post");
};
shiyan_lv.onLoad = function(chenggong) {
  if (chenggong) {
    //輸出文本內容
    shuchu_txt.text = shiyan_lv.fanhui_asp;
  } else {
    //輸出文本內容
    shuchu_txt.text = "加載失敗";
  }
};

呼呼,改的東西真不少啊,先不講代碼了,直接發(fā)布測試一下吧,先有個直觀的認識:在輸入文本框中輸入“我要做FLASH留言板”,然后點擊提交按鈕,你就會看到在動態(tài)文本框“shuchu_txt”中馬上就會顯示:“哈,你輸入的內容已經(jīng)傳遞給ASP,并且又已經(jīng)從ASP返回到FLASH了,你輸入的內容是:我要做FLASH留言板”。這個例子的源文件也可以直接在下面下載。

小提示:如果你在瀏覽器中直接點擊刷新不能正確顯示更新后的頁面和內容,請按如下方式設置IE瀏覽器:→工具→Internet選項→設置→鉤選“每次訪問此頁時檢查”。這樣我們以后就可以直接利用刷新來測試,不用再擔心IIS刷新和內存問題了。

最后我們來對測試過程中的數(shù)據(jù)流程做一個系統(tǒng)的分析

  • 用戶在FLASH的輸入文本框“shuru_txt”輸入“我要做FLASH留言板”
  • 通過“shiyan_lv.neirong_flash = shuru_txt.text;”這句代碼把用戶輸入的內容儲存在“shiyan_lv”對象的“neirong_flash”
  • 通過“shiyan_lv”對象的“sendAndLoad”方法將它記錄的變量都傳遞給指定的ASP文件
  • 在ASP文件中通過“neirong=Request("neirong_flash");”這句代碼獲得從FLASH的“shiyan_lv”對象傳遞過來的變量“neirong_flash”
  • ASP接收變量內容后調用Response對象的Write方法利用傳遞過來的變量內容以“變量/值”配對的格式輸出需要返回FLASH的新內容
  • FLASH在調用“shiyan_lv”對象的“sendAndLoad”方法發(fā)送變量時就已經(jīng)指定“shiyan_lv”本身接收返回的內容
  • “shiyan_lv”接收到新返回的內容,并根據(jù)其“變量/值”配對的格式,將新內容儲存在“shiyan_lv.fanhui_asp”中
  • 當新返回的內容在FLASH中加載完成后,調用“shiyan_lv”對象的onLoad事件
  • 通過“shuchu_txt.text = shiyan_lv.fanhui_asp;”這句代碼在輸出文本框中顯示新返回的內容
    經(jīng)過這個分析,相信大家應該可以從總體上有一個理性的認識了吧。

最后還需要重點強調的幾點是

  • LV對象在調用“sendAndLoad”方法發(fā)送變量的時候,會把LV對象中儲存的所有變量都發(fā)送給ASP。
  • ASP在接收LV對象傳遞過來的變量時,只需要在Request中使用與FLASH中相同的變量名字就可以了。
  • ASP輸出的資料一定要使用“變量/值”配對的格式,因為只有輸出成這種格式,F(xiàn)LASH才能像處理TXT一樣將ASP輸出的資料分別記錄在幾個變量并保存在指定接收資料的LV對象中。
  • 如果我們想向FLASH傳遞兩個或者更多變量,我們可以在FLASH中這樣寫:(以傳遞三個變量為例)
    shiyan_lv.bianliang1_flash="bianliang1";
    shiyan_lv.bianliang2_flash="bianliang2";
    shiyan_lv.bianliang3_flash="bianliang3";
    shiyan_lv.sendAndLoad("asp_jichu.asp?bianliang="+random(9999), shiyan_lv, "post");
  • 傳遞大量資料時,必須使用POST方法。
  • 如果我們想在FLASH中接收到多個從FLASH傳遞過來的變量,就按TXT的處理方式來就OK了。

呼呼,喘口氣,這一節(jié)終于寫完了。本來計劃下次直接寫“LV與ASP綜合運用”的,但現(xiàn)在想想,還是很有必要加上一節(jié)“ASP操作數(shù)據(jù)庫入門”,請繼續(xù)關注。有什么好的意見也可以提一下,希望通過大家的共同努力讓這篇教程能讓菜鳥以最快的速度,最少的障礙自己制作出真正屬于自己的FLASH留言板。

還記得我們向ASP傳遞的那個無意義的變量“bianliang”嗎?既然我們向ASP傳遞了,那ASP就應該能接收的到,有興趣的朋友可以在“asp_jichu.asp”中加一個接收變量的語句,測試一下效果。改動后的ASP代碼如下:

★ASP中基本的輸入輸出<br>
<%@LANGUAGE="JAVASCRIPT"%>
<%
var neirong;
var canshu;
//獲取網(wǎng)址中變量的內容
neirong=Request("neirong_flash");
//獲取無意義的參數(shù)
canshu=Request("bianliang");
//顯示變量內容
Response.Write("&fanhui_asp=哈,你輸入的內容已經(jīng)傳遞給ASP,并且又已經(jīng)從ASP返回到FLASH了,你輸入的內容是:"+neirong+"。你傳遞的無意義的參數(shù)是:"+canshu);
%>

測試后發(fā)現(xiàn)真的可以接收到一個數(shù)字呢,而且每次點提交這個數(shù)字幾乎都不一樣,在0-9999之間變化?磥砦覀兇_實接收到FLASH傳遞過來的隨機變量了,可傳遞的時候,地址欄里怎么沒顯示呢?是因為這次我們采用了“POST”傳遞方式,這種方式用來傳遞大量資料,是不會在地址欄中顯示變量和它的值的。

FLASH與ASP交互實例demo01.rar

出處:藍色理想
責任編輯:moby

上一頁 ASP中基本的輸入輸出 下一頁 ASP操作數(shù)據(jù)庫入門

◎進入論壇Flash專欄版塊參加討論

相關文章 更多相關鏈接
使用 Flex 上傳文件
FLASH基礎開發(fā)習慣
用background 插入flash播放器
網(wǎng)頁中嵌入Flash的方法討論
asp檢測文件編碼
作者文章
FLASH基礎開發(fā)習慣
用純AS寫滾動條
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:4/81個記錄/頁 轉到 頁 共8個記錄

藍色理想版權申明:除部分特別聲明不要轉載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉載要求:轉載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內轉載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內核詳解與實踐
作品集 更多內容

雜⑦雜⑧ Gold NORMANA V2