【发布时间】:2010-01-24 19:57:04
【问题描述】:
如何检查我的表单是否已在经典 ASP 中提交?
【问题讨论】:
-
也许,检查referrer的扩展名
-
这是一个不清楚的问题。你想知道什么 ?当您按下提交时,如果表单离开客户端前往服务器?数据是作为表单(post)而不是查询字符串数据(get)接收的吗?服务器处理的数据没有错误吗?这里的选项太多了。
标签: asp-classic
如何检查我的表单是否已在经典 ASP 中提交?
【问题讨论】:
标签: asp-classic
首先,您可以检查,如果Request.ServerVariables("REQUEST_METHOD")= "POST"。即假设你使用POST方式提交表单,初始加载会有GET方式,后续提交都是POST方式。
您还可以在表单中添加隐藏字段,如果该变量在 POST 数据中设置(Request.Form 对象),您将知道这是回发,否则是第一次加载。
【讨论】:
Function IsPostBack()
IsPostBack = false
If Request.ServerVariables("REQUEST_METHOD") <> "POST" Then
Exit Function
End If
Dim referer: referer = Request.ServerVariables("HTTP_REFERER")
Dim current: current = Request.ServerVariables("HTTP_ORIGIN") & Request.ServerVariables("SCRIPT_NAME")
Dim i: i = InStr(1, referer, "?", 1)
If i > 1 Then
referer = Left(referer, i - 1)
End If
IsPostBack = LCase(current) = LCase(referer)
End Function
【讨论】: