Asp-Classic

ASP檢查請求方法

  • September 23, 2019

如何檢查我的表單是否已在經典 ASP 中送出?

首先,您可以檢查,如果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

引用自:https://stackoverflow.com/questions/2128539