ASP - 在SendEmail函数运行之前不加载页面

时间:2014-09-24 08:33:23

标签: html asp-classic subroutine

我有一个ASP页面,通过表单从上一页接收数​​据。

ASP页面:

  1. 连接数据库
  2. 更新数据库
  3. 加载HTML以表明您的表单已提交
  4. 发送确认的电子邮件例程。
  5. 但是,在电子邮件例程运行之前,页面才会加载,即使它是最后一个要调用的例程。

    电话" SendEmail"例程,位于Sub的页面底部,在加载HTML后立即调用

    </html>
    
    <%
    
    Call SendEmail
    
    Sub SendEmail
    
    End Sub
    %>
    

    非常感谢任何帮助。

    干杯

    约翰

2 个答案:

答案 0 :(得分:0)

经典ASP,如ASP.NET,PHP等,都是服务器端语言。这意味着填充页面的脚本在响应发送到客户端之前执行。举个例子:

<html>
    <head></head>
    <body>
        <div><h1>This is a test</h1><p>Some random Lorem Ipsum in a box.</p></div>
        <%Response.Write("This is also a test<br/>")%>
        <p>Some other gobbledegook.</p>
        <%Response.Write("37 + 59 = " & (37+59))%>
        <%SendMail("Whatever message.")%>
    </body>
</html>
<%Response.Write("Something else here.")%>

在返回类似的内容之前,所有这些代码都将在服务器端执行:

这是一个测试

一个随机的Lorem Ipsum。

这也是一个测试

其他一些gobbledegook。

37 + 59 = 96 ...(SendMail将在此处执行)... 还有别的东西。

如果你想让各个部分一致地运行,那么你将不得不考虑使用JavaScript,jQuery或其他类似的基于JavaScript的插件来调用它们,或者使用( cough )选择{{ 1}} s(gah!讨厌!)。

答案 1 :(得分:-1)

</html>

<%
Response.Flush 'sends buffered HTML output immediately.
Call SendEmail

Sub SendEmail

End Sub
%>