0

我们的办公室团队使用 VBScript 维护和开发 Classic ASP 应用程序

我们遇到了一项涉及创建链接的技术任务。单击链接时,我们希望 ASP 页面调用 POST。

POST 应该由 ASP 中的链接间接调用。

这是调用 VBSCript 子例程的 ASP 页中的 VBScript 代码和链接,该子例程最终将调用 POST:

 <%dim whereFrom
 whereFrom = "RevSummary"
 dim critiqueID
 critiqueID = 389
 dim orignalCritiqueID
 orignalCritiqueID = 249
 %>


 <a href="#" onclick="<%=vbscript:showCritiqueDetailsInvocation( whereFrom, critiqueID, orignalCritiqueID )%>" class="TenPtList" target="_blank">
                            <font color="blue">
                               Critique Details
                            </font>
                            </a>

 <%
 Sub ShowCritiqueDetails(WhereFromArg, CritiqueIDArg, OrignalCritiqueIDArg )
dim DataToSend : DataToSend = "WhereFrom=" + WhereFromArg + "&CritID=" + CritiqueIDArg + "&OriginalCritID=" + OrignalCritiqueIDArg
dim servXmlHttp
dim urlOfInterest : urlOfInterest = Application("RAMSREVURL") + "CritiqueDetailsPopup.asp"
set servXmlHttp = server.Createobject("MSXML2.ServerXMLHTTP")
servXmlHttp.Open "POST", urlOfInterest ,false
servXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
servXmlHttp.send DataToSend
Set servXmlHttp = nothing
End Sub
 %>

最终所需的要求是我们希望调用 POST,然后我们希望导航到名为 CritiqueDetailsPopup.asp 的页面

请问上面的方法?另外,上述方法是一种好的编程习惯吗?

4

2 回答 2

0

如果您想POST从当前页面触发 a ,您可以使用类似这样的东西;

  <a href="<%= urlOfInterest %>" onclick="SubmitLink(this, 'POST')" class="TenPtList" target="_blank">
    <font color="blue">Critique Details</font>
  </a>

  <form id="form1">
    <input type="hidden" name="value1" value="Hello World" />
  </form>

  <script type="text/vbscript">
    Function SubmitLink(Method)
      'Get reference to the object that triggered the event
      Dim Obj
      Set Obj = Window.Event.srcElement
      'Pass Method (GET or POST) and the URL to send data to.
      Dim Form
      Set Form = Document.getElementById("form1")
      Form.Method = Method
      'Pull URL from the Href attribute
      Form.Action = Obj.Location.Href
      Call Form.Submit()
      'Return false
      SubmitLink = False
    End Function
  </script>
</body>

由于现在浏览器对 VBScript 的支持有限(甚至微软都不使用它),使用 JavaScript 代码变得更容易;

  <a href="<%= urlOfInterest %>" onclick="return submitlink(this, 'POST');" class="TenPtList" target="_blank">
    <font color="blue">Critique Details</font>
  </a>

  <form id="form1">
    <input type="hidden" name="value1" value="Hello World" />
  </form>

  <script type="text/vbscript">
    function submitlink(obj, method) {
      //Pass Method (GET or POST) and the URL to send data to.
      var form = Document.getElementById("form1");
      form.method = method;
      //Pull URL from the Href attribute
      form.action = obj.location.Href;
      form.submit();
      return false;
    }
  </script>
</body>
于 2014-05-30T13:36:21.900 回答
0

我的方法

<form  method="post" name="frm">
 <div class="formItem">
    <a href="" class="bidibidi" onclick="frm.submit();">submit</a>
</div>
于 2018-04-18T17:39:52.750 回答