ASP脚本执行顺序的详细描述。
首先,让我们了解ASP页面执行的过程。1.iis发现ASP文件并将其提交给ASP引擎(一般ASP。DLL)。
2。发动机打开ASP文件查找的内容,当然,之间的内容,这就是所谓的脚本块。内容只有脚本块的引擎解析,和其他的内容,不管的意思,是插入的脚本块之间。有必要解释一下,事实上,这是解析的含量高于。包含文件类的服务器端也包括由引擎处理。如果你读了更多的节目,你也会知道一些标有服务器后将runat属性,并没有进一步的讨论。
3。引擎执行脚本块中的脚本,这些脚本作为一个整体执行,即编写以下代码:
复制代码代码如下所示:
<
朦胧的我
对于我= 1比5
%你好世界!
发动机没有解析脚本分开,使两个脚本块的语法错误。所以我们得出以下结论:并非所有的非服务器脚本代码将被发送到客户端,也许这非服务器脚本代码的脚本块的限制,服务器肯定是不必担心的客户端脚本的执行,但你可以输出不同的客户端脚本的服务器端脚本。
4、最终引擎生成一个文本流或脚本的执行结果,该脚本可以被视为一个字符串,它是发送到客户端浏览器的Web页面的代码。在那个时候,页面的源代码(源文件)不包含服务器脚本,但它包含服务器端脚本的执行结果。
和
它们都是服务器端脚本,它们是处理和执行的,它们是作为一个整体来执行的。
和
前者是服务器端脚本,后者是客户端脚本,前者先执行,而后者执行。
事实上,这两个脚本可以同时执行,但空间是不同的:前者是在服务器端执行,后者是在客户端浏览器执行。前者在逻辑上是领先于后者。同时我们也得出结论:在执行相同的网页,客户端脚本在任何情况下不得反馈到服务器端的脚本,也就是说,客户浏览您的留言并提交新的消息或任何客户端脚本来获得价值不能在同一时间处理服务器响应。
关于组件的调用
请注意,服务器端脚本和客户端脚本都是脚本,它可以创建XMLHTTP组件,ADODB。连接组件,等等,而不是到处都。
如果XMLHTTP用于抓取网页(如收集)服务器,它将在服务器脚本创建。如果Ajax用于客户机,则不刷新服务器页面页和后台访问,然后在客户端运行,自然在客户端创建。
ADODB连接组件用于访问数据库,一般在服务器上创建的,毕竟是服务器在数据库运行ASP,但是如果你的数据库是在客户端的连接,然后在客户端脚本无疑创造了。
总之,矛盾的事情,每一方都有自己的特点,不同的事物有不同的矛盾;同一事物在不同发展阶段的过程和不同的矛盾;同一事物的两个不同方面的矛盾有其自身的特殊性。这一原则要求我们坚持具体问题分析的原则。在矛盾普遍性原则的指导下,分析矛盾的特殊性,找出解决问题的正确途径,反对各种事物的矛盾,用一种方法来解决,这是一把钥匙打开一座山,去唱那首歌的道理。
服务器端的VBscript脚本创建对象,并使用server.createobject(类名)的方法。客户端VBscript脚本创建对象用CreateObject(类名)的方法。
典型的错误
复制代码代码如下所示:
<
功能tsize(B)
这是我的自定义函数
tsize =中国
端功能
%>
在这里使用我定义的函数
误差分析:
服务器端脚本和客户端脚本之间的区别是困惑。实际执行中我们会发现,客户没有收到什么样的tsize代码,因为tsize是一个服务器端的程序,在发动机(注意功能,发动机是纯粹的服务器端脚本调用,将不被发送回客户端)消失了,不能在客户发挥作用。也就是说,客户端脚本不能直接调用服务器端脚本功能。
事实上,这个程序语法错误。当引擎处理这个内容时,它首先在它们之间找到内容。那是,很明显,内容不符合语言的语法规则,有在服务器端脚本没有语法错误。当时的tsize函数可以返回到中国的价值
服务器端脚本对客户端脚本的影响
如前所述,服务器端脚本在逻辑上优于客户端脚本,因此此代码是可行的:
复制代码代码如下所示:
<
朦胧的我
对于我= 1比5
响应。写_
警报('Hello World!i
下一个
%>
关于响应、重定向和Javascript的实现
指出以下代码是错误的。
复制代码代码如下所示:
<
响应。重定向索引
响应。写_
警报('wrong密码!)
%>
这是一个常见的错误。作家常常认为写代码可以让客户先弹出密码错误的提示,然后把index.asp。事实上,这是不可能发生的。即使两行代码按顺序交换,也不可能达到这种效果。
原因是服务器与两行代码的处理有关,这两行代码不能同时工作。
响应:编写向客户端发送文本。这篇文章的内容可以是一个脚本。然后客户端浏览器在收到脚本后就可以执行脚本,并注意到它可以在收到后执行。
和响应。重定向发送一个HTTP头到客户端(HTTP头信息是什么)嗯,如写入客户端Cookie HTTP头,在HTTP HTTP头信息返回到客户端浏览器的身上,这就是为什么有时候我们把服务器缓冲后修改原因饼干是错误的,因为主题已经发送,不允许发送的HTTP头信息,该信息。)内容告诉客户端浏览器跳转页面浏览,注意重定向信息立即发挥作用,即重定向信息的缓冲区,开的是独家的,无论多少已经写入响应。内容写入缓冲区,一度被称为响应。重定向,将空的缓冲区,和客户端浏览器发送头指令。如果我们不执行的痕迹他计划的动态,我们也会发现后的反应。重定向已被调用,程序停止执行,所以我们应该注重服务器端程序运行前关闭数据连接,再打response.redirect。
那么应该如何修改上面的例子呢如果你不想修改index.asp添加脚本提示,那么你只能把转向指示客户端脚本,这样。
复制代码代码如下所示:
<
响应。写_
警报!);位置。href = 'index ASP。
%>