我们的办公室团队使用VBScript维护和开发经典ASP应用程序
我们遇到了一项涉及创建链接的技术任务。单击链接后,我们希望我们的ASP页面调用POST。
应该通过ASP中的链接间接调用POST。
这是ASP页面中的VBScript代码和链接,它调用最终将调用POST的VBSCript子例程:
<%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的页面
上述方法会不会?另外,上述方法是一种很好的编程习惯吗?
答案 0 :(得分:0)
如果您想从当前页面触发POST
,可以使用以下内容;
<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>
答案 1 :(得分:0)
我的方法
<form method="post" name="frm">
<div class="formItem">
<a href="" class="bidibidi" onclick="frm.submit();">submit</a>
</div>