性感美女福利视频,成人欧美一区二区,欧美日韩国产影院,国产精品一区二区视频


西安網(wǎng)站建設(shè)|西安網(wǎng)站制作|西安做網(wǎng)站_網(wǎng)站知識(shí)交流論壇網(wǎng)站技術(shù)網(wǎng)絡(luò)編程學(xué)習(xí) → ASP腳本的執(zhí)行順序


  共有15963人關(guān)注過(guò)本帖樹(shù)形打印

主題:ASP腳本的執(zhí)行順序

帥哥喲,離線,有人找我嗎?
玖佰網(wǎng)絡(luò)
  1樓 個(gè)性首頁(yè) | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):新手上路 帖子:24 積分:290 威望:0 精華:0 注冊(cè):2009/8/27 18:10:22
ASP腳本的執(zhí)行順序  發(fā)帖心情 Post By:2009/8/28 14:24:21

首先我們先來(lái)了解一下ASP頁(yè)面執(zhí)行的流程
1.IIS找到ASP文件,提交給ASP引擎(一般是ASP.DLL)處理。
2.引擎打開(kāi)這個(gè)ASP文件,找出<%和%>之間的內(nèi)容,當(dāng)然還有<script runAt="server">和對(duì)應(yīng)的</script>之間的內(nèi)容,這些內(nèi)容稱為腳本塊。只有腳本塊里的內(nèi)容被引擎解析,其他內(nèi)容不管,作為沒(méi)有意義的字符插在腳本塊之間。有必要說(shuō)明一下的是,其實(shí)被解析的內(nèi)容還不止這些,<!--#include ***-->類的服務(wù)器端包含文件也是由引擎包含進(jìn)來(lái)并加以處理的。如果你讀的程序比較多,你還會(huì)知道有的runAt屬性標(biāo)注為"Server"的<object>對(duì)象也是會(huì)被處理的,這里不做深入討論。
3.引擎執(zhí)行腳本塊中的腳本,這些服務(wù)器端的腳本是作為一個(gè)整體被執(zhí)行的,也就是說(shuō),可以寫(xiě)出如下的代碼:
<%
Dim i
For i=1 to 5
%> Hello World!
<% Next %>
  引擎并不會(huì)將這些腳本塊分開(kāi)解析,而使兩個(gè)腳本塊都發(fā)生語(yǔ)法錯(cuò)誤。所以我們得到如下結(jié)論:并非所有非服務(wù)器腳本的代碼都會(huì)被發(fā)送到客戶端,有可能這段非服務(wù)器腳本的代碼被腳本塊限制了。服務(wù)器是一定不會(huì)操心客戶端腳本的執(zhí)行問(wèn)題的,但是可以通過(guò)服務(wù)器端的腳本輸出不同的客戶端腳本。
4.最終引擎產(chǎn)生了一個(gè)文本流,或者說(shuō)是腳本的執(zhí)行結(jié)果,可以認(rèn)為這是一個(gè)字符串,就是發(fā)送到客戶端瀏覽器的網(wǎng)頁(yè)的代碼。客戶端瀏覽器將頁(yè)面顯示出來(lái),此時(shí)頁(yè)面的源代碼(源文件)是不包含服務(wù)器端的腳本的,但包含了服務(wù)器端腳本的執(zhí)行結(jié)果(這是顯然的)。

<% … %> 與 <script runat="server">…</script>
  它們都是服務(wù)器端的腳本,同時(shí)被處理執(zhí)行。他們執(zhí)行時(shí)是作為一個(gè)整體的。

<% … %> 與 <script language="…">…</script>
  前者是服務(wù)器端腳本,后者是客戶端腳本。前者先執(zhí)行,后者后執(zhí)行。
  其實(shí)也不盡然,二者的腳本是有可能在同時(shí)被執(zhí)行的,但空間不同,仍然是:前者在服務(wù)器上執(zhí)行,后者在客戶端瀏覽器里執(zhí)行。前者在邏輯上一定提前于后者執(zhí)行。同時(shí)我們也得到結(jié)論:在同一個(gè)頁(yè)面的執(zhí)行中,客戶端腳本無(wú)論如何不能反饋給服務(wù)器端腳本,也就是說(shuō),客戶端瀏覽你的留言本并且提交新留言或者是任何客戶端腳本獲取的值都不可能在同一次服務(wù)器響應(yīng)中被處理。

關(guān)于組件的調(diào)用
  注意服務(wù)器端腳本和客戶端腳本都是腳本,自然都可以創(chuàng)建xmlhttp組件、ADODB.Connection組件等,但是并不是放在哪里都可以的。
  xmlhttp如果用于服務(wù)器的抓取網(wǎng)頁(yè)(比如采集)就要在服務(wù)器腳本里創(chuàng)建了,而如果是用于客戶端的ajax無(wú)刷新而后臺(tái)訪問(wèn)服務(wù)器端的頁(yè)面,那么就是運(yùn)行于客戶端的了,自然在客戶端創(chuàng)建。
  ADODB.Connection組件用于訪問(wèn)數(shù)據(jù)庫(kù),一般來(lái)說(shuō)在服務(wù)器端創(chuàng)建,畢竟是服務(wù)器端的asp程序在跑數(shù)據(jù)庫(kù)的數(shù)據(jù),但如果你的數(shù)據(jù)庫(kù)真的是在客戶端連接的,那么就毫無(wú)疑問(wèn)在客戶端腳本里創(chuàng)建了。
  總之,矛盾著的事物及其每一個(gè)側(cè)面各有其特點(diǎn)。不同事物有不同的矛盾;同一事物在發(fā)展的不同過(guò)程和不同階段上有不同的矛盾;同一事物中的不同矛盾、同一矛盾的兩個(gè)不同方面各有其特殊性(看不懂的可以略去不看……)。這一原理要求我們堅(jiān)持具體問(wèn)題具體分析原則,在矛盾普遍性原理的指導(dǎo)下,具體分析矛盾的特殊性,并找出解決矛盾的正確方法。反對(duì)千篇一律地采用一種方法解決不同事物的矛盾。“一把鑰匙開(kāi)一把鎖,到什么山唱什么歌”講的就是這個(gè)道理。
  服務(wù)器端VBScript腳本創(chuàng)建對(duì)象使用Server.CreateObject(className)方法,客戶端VBScript腳本創(chuàng)建對(duì)象使用CreateObject(className)方法。

典型錯(cuò)誤
<%
Function TSize(b)
'這是我自定義的函數(shù)
TSize="中國(guó)"
end function
%>
<a href="javascript:<%TSize('變量')%>" >點(diǎn)這里要使用我定義的函數(shù)</a>
  錯(cuò)誤分析:
  混淆了服務(wù)器端腳本和客戶端腳本的區(qū)別。實(shí)際執(zhí)行時(shí)我們會(huì)發(fā)現(xiàn),客戶端根本沒(méi)有收到什么TSize之類的代碼,因?yàn)門(mén)Size是服務(wù)器端的程序,被引擎處理之后(注意引擎對(duì)于函數(shù)的處理,純粹是給服務(wù)器端腳本調(diào)用的,不會(huì)發(fā)回到客戶端)就消失了,不可能在客戶端起作用。這就是說(shuō),客戶端腳本無(wú)法直接調(diào)用服務(wù)器端腳本的函數(shù)。
  事實(shí)上,這個(gè)程序是有語(yǔ)法錯(cuò)誤的,引擎處理這段內(nèi)容的時(shí)候先找到了<%和%>之間的內(nèi)容,也就是<%TSize('變量')%>,顯然這段內(nèi)容不符合VBScript的語(yǔ)法規(guī)則。嗯,改成<%=TSize("變量")%>在服務(wù)器端腳本就沒(méi)有語(yǔ)法錯(cuò)誤了,這時(shí)TSize函數(shù)可以正常返回值"中國(guó)",于是客戶端收到的href屬性是這樣寫(xiě)的:"javascript:中國(guó)",是無(wú)法執(zhí)行的。

服務(wù)器端腳本對(duì)客戶端腳本的影響
  前面已經(jīng)說(shuō)過(guò)了,服務(wù)器端腳本在邏輯上是提前于客戶端腳本的執(zhí)行的,因此這樣的代碼是可行的:
<%
Dim i
For i=1 to 5
Response.Write "<script type=""text/javascript"">" _
& "alert('Hello World!" & i & "')</script>"
Next
%>

關(guān)于Response.Redirect與javascript的執(zhí)行問(wèn)題
  注意以下代碼的寫(xiě)法是錯(cuò)誤的:
<%
Response.Redirect "index.asp"
Response.Write "<script type=""text/javascript"">" _
& "alert('密碼錯(cuò)誤!')</script>"
%>
  這是一種常見(jiàn)的錯(cuò)誤,編寫(xiě)者常常以為,這樣寫(xiě)代碼可以使客戶端先彈出“密碼錯(cuò)誤”的提示然后轉(zhuǎn)向到index.asp,事實(shí)上這不可能發(fā)生,即使將兩行代碼順序交換,也不可能達(dá)到這種效果。
  究其原因,和服務(wù)器對(duì)于兩行代碼的處理方式有關(guān)。這兩行代碼不可能同時(shí)起作用。
  Response.Write是向客戶端發(fā)送一段文本,這段文本的內(nèi)容可以是一段腳本,那么客戶端瀏覽器收到后可以執(zhí)行這段腳本,注意,要收到之后才能執(zhí)行。
  而Response.Redirect是向客戶端發(fā)送了一個(gè)HTTP頭信息(什么是HTTP頭信息?這么說(shuō)吧,比如對(duì)客戶端Cookies的寫(xiě)入是HTTP頭信息,HTTP頭信息在HTTP的主體之前發(fā)回客戶端瀏覽器,這就是為什么有時(shí)我們把服務(wù)器的緩沖關(guān)閉之后修改Cookies會(huì)出錯(cuò)的原因,因?yàn)橹黧w已經(jīng)開(kāi)始傳送,不允許發(fā)送HTTP頭信息了。),信息的內(nèi)容告訴客戶端瀏覽器應(yīng)該跳轉(zhuǎn)頁(yè)面瀏覽,注意,這個(gè)Redirect信息是立刻起作用的,也就是說(shuō)這個(gè)Redirect信息具有排他性,在緩沖打開(kāi)的情況下,無(wú)論已經(jīng)使用Response.Write向緩沖里寫(xiě)入了多少內(nèi)容,一旦調(diào)用Response.Redirect,將會(huì)清空緩沖,并且向客戶端瀏覽器發(fā)送這個(gè)頭指令。如果動(dòng)態(tài)跟蹤一下程序的執(zhí)行,我們還會(huì)發(fā)現(xiàn),在調(diào)用了Response.Redirect之后,程序停止執(zhí)行了,所以注意服務(wù)器端程序在調(diào)用Response.Redirect之前要做好數(shù)據(jù)連接的關(guān)閉等操作。
  那么上面的例子應(yīng)該怎樣修改呢?如果你不愿意修改那個(gè)index.asp以加入腳本提示的話,那么只能將轉(zhuǎn)向指令放到客戶端腳本中執(zhí)行,就像這樣:
<%
Response.Write "<script type=""text/javascript"">" _
& "alert('!');location.href='index.asp'</script>"
%>


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

ASP腳本的執(zhí)行順序








簽名
一本大道色婷婷在线| 青春草免费视频| 欧美三级电影精品| 波多野结衣在线网站| 国产又黄又嫩又滑又白| 9191久久久久久久久久久| 亚洲我射av| 国产又黄又猛又爽| 91精品综合久久| 国产91在线|亚洲| 欧美在线激情网| 午夜一级久久| 免费在线视频你懂的| 欧美日韩成人免费视频| 欧洲精品中文字幕| 国产欧美视频在线| 不卡av中文字幕| 亚洲一区尤物| 日韩视频精品在线观看| 国产国产人免费人成免费视频 | 在线免费观看黄色网址| 欧美色图亚洲视频| 久热国产精品视频| 日本强好片久久久久久aaa| 羞羞小视频视频| 男人天堂av电影| 日本人成精品视频在线| 91在线播放网址| 美女高潮在线观看| 亚洲国产成人精品一区二区三区| 樱空桃在线播放| 欧美日韩中文国产| 亚洲草久电影| 先锋影音在av资源看片| 谁有免费的黄色网址| 成人黄色网免费| 五月天一区二区三区| 91久久国产综合久久91| 国产91精品入口17c| 亚洲欧美在线视频观看| 97久久精品一区二区三区的观看方式| 最近中文字幕免费mv视频多少集| 成人在线免费播放视频| 欧美黑人巨大xxx极品| 亚洲国产激情av| 妖精一区二区三区精品视频| 亚洲精蜜桃久在线| 欧美挠脚心视频网站| 亚洲欧美日韩在线观看a三区 | 国语对白做受69| 综合自拍亚洲综合图不卡区| 日韩在线影视| 国产成人亚洲综合小说区| 久久成人激情视频| 久久99精品久久久久子伦| 精品国产自在久精品国产| 亚州av乱码久久精品蜜桃| 日韩在线资源| 香蕉视频免费在线看| 特级西西人体wwwww| 国产欧美一区二区白浆黑人| 欧美日韩国产成人在线免费| 亚洲成人精品| 国内激情视频在线观看| √天堂资源中文www| 亚洲一级二级片| 国产日韩欧美精品在线观看| 久久久久久91| 亚洲午夜久久久久| 日本中文字幕一区二区有限公司| 欧美黄页在线免费观看| 黄动漫在线看| 性欧美性free| 最近中文字幕无免费| 国产一区二区高清不卡| 亚洲人成网7777777国产| 国产a区久久久| 亚洲一区亚洲二区亚洲三区| 欧美男gay| 在线视频专区| 国内精品麻豆| 日韩精品国产一区二区| 黑森林福利视频导航| 99在线观看| 日韩视频在线观看免费| 欧美在线观看一区| 精品一区二区三区在线观看 | 韩国女主播一区二区三区| 午夜影院免费在线| 香蕉视频色版| 日本黄色三级视频| 久久精品国产亚洲AV无码麻豆| 97超碰免费在线观看| 动漫精品视频| 久久久久亚洲精品成人网小说| 日韩视频一区二区在线观看| 精品国产乱码久久久久久久| 欧美三区免费完整视频在线观看| 欧美aaaaa成人免费观看视频| 中国av一区| 欧美xxxx性| 国产亚洲一区二区手机在线观看| 182在线视频观看| 国产一区 二区| 日韩三级一区| 外国电影一区二区| 色8久久久久| 国产66精品| 欧美/亚洲一区| 手机精品视频在线观看| 国产精品久久久免费| 91亚洲精品国产| 亚洲大胆av| 9999精品免费视频| 欧美手机视频| 日韩激情一区二区| 中文字幕欧美激情| 国产偷国产偷精品高清尤物| 成人性生交大合| 国产成人在线网站| 成人午夜视频免费看| 夜夜嗨av一区二区三区中文字幕 | 欧美天天综合色影久久精品| 亚洲欧美日韩另类| 国产日韩av高清| 国产精品日韩三级| 久久9精品区-无套内射无码| 欧美精品无码一区二区三区| 午夜免费精品视频| 欧美一级片黄色| 日韩无码精品一区二区三区| 91精品国产乱码久久久| 五月婷婷一区二区三区| 免费看成一片| 1024国产在线| 国产亚洲人成a在线v网站| 99国内精品久久久久| 国产精品探花在线观看| 日韩精品dvd| 欧美激情91| 久久精品国产亚洲a| 成人精品视频一区| av在线不卡网| 丁香亚洲综合激情啪啪综合| 国产精品一区久久久久| 国产成人在线视频播放| 国产精品18久久久久久久网站| 粉嫩aⅴ一区二区三区四区五区| 波多野结衣中文字幕一区| 老色鬼精品视频在线观看播放| 日韩成人免费看| 国产精品香蕉一区二区三区| 激情亚洲综合在线| 99re这里都是精品| 91电影在线观看| 精品国内亚洲在观看18黄| 尤物精品国产第一福利三区| 国产欧美日韩精品专区| 日本午夜精品电影| 天天天干夜夜夜操| 日本少妇aaa| 在线观看一二三区| 国产麻豆综合视频在线观看| 欧美91精品久久久久国产性生爱| 成人av动漫在线观看| 久久国产精品成人免费观看的软件| 久久99久久久欧美国产| 日韩一区二区三区视频在线观看| 国产精品第一第二| 精品欧美一区免费观看α√| 微拍福利一区二区| 五月天激情开心网| 人人干人人插| 9色在线视频| 日韩精品成人| 国产一区二区福利| 91精品中文字幕一区二区三区| 国产成人一区二区三区| 亚洲妇熟xx妇色黄蜜桃| 国产精品乱码久久久| 浮生影视网在线观看免费| sdde在线播放一区二区| 国产精品久久久久一区二区三区 | 欧美日韩国产精品| 国产成人久久久精品一区| 日韩一级免费在线观看| 一区二区美女视频| 黄色影院在线播放| 欧美成熟视频| 日韩欧美亚洲成人| 91在线高清免费观看| 欧美黄色高清视频| 天天性天天草| 国产一区二区三区网| 欧美日韩在线观看视频| 国产一区二区三区黄| 黄色一级片中国| 亚洲高清国产精品| 视频一区视频二区中文字幕| 亚洲全黄一级网站|