httpRequest和JavaScript

httpRequest和JavaScript,javascript,vba,excel,httprequest,Javascript,Vba,Excel,Httprequest,我有一个关于excel VBA HTTP请求和JavaScript的问题。我想通过“POST”在intranet站点上进行搜索,但submit按钮似乎运行JavaScript来重新加载站点,但我不知道如何进行 Public Function XmlHttpTutorial() Dim xmlhttp As New MSXML2.XMLHTTP60 Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP") Dim HTMLDoc As New HTML

我有一个关于excel VBA HTTP请求和JavaScript的问题。我想通过“POST”在intranet站点上进行搜索,但submit按钮似乎运行JavaScript来重新加载站点,但我不知道如何进行

Public Function XmlHttpTutorial()

Dim xmlhttp As New MSXML2.XMLHTTP60
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
Dim HTMLDoc As New HTMLDocument

Dim myurl As String

myurl = "http://www.website.de"

xmlhttp.Open "POST", myurl, False
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)1"
xmlhttp.setRequestHeader "Cookie", "serverTimeOffset=-3600149; browserTimeZone=-60;"

xmlhttp.Send ("var1=variable&var2=variable&var3=variable")


Debug.Print xmlhttp.responseText

End Function
这是按钮本身

<input type="submit" name="button" tabindex="8" value="Find" onclick="closeWindow();uppercaseForm( this.form );" class="btn-small">

“closeWindow”只是关闭窗口,“uppercaseForm”只是将所有输入大写

这是标题

<form name="arrivalQueryForm" method="post" action="/opslink/arrivalQuery.do" onsubmit="setWindowId(this, 'windowId');">

setWindowID仅获取window.name和replace括号


我不知道如何找回正确的站点,因为到目前为止似乎没有任何效果。

据我所知,VBA与HTML没有任何关系。XHR被烘焙到HTML表单对象中(注意
method=post
属性)。onsubmit与HTML表单一起烘焙

我建议您不要使用HTML表单元素并在JavaScript中手工编写XHR脚本,这样您就可以通过
查看该机制的工作原理。单击
按钮
元素上的
事件


如果您想在不打开web浏览器的情况下从Excel本身获取/XHR,则可以使用VBA。

这就是我试图通过XHR从Excel获取数据的原因,但我得到的上一页似乎与我试图访问的网站的Javascript部分有关。