我们有以下链接:http://mvp.sos.state.ga.us/
而不是创建一个db来复制MVP页面的信息,我们想使用我们自己的表单,然后在幕后,将信息发送到上面的站点,使用名为MSXML2.ServerXMLHTTP的组件返回结果。
不幸的是,我对这个组件或如何使用它一无所知。
有人会非常友好地请指点我们如何使用我们自己...将信息发送到上面的网站并将结果返回给我们的表单?
我们基本上试图让用户输入第一个姓名,姓氏,县,出生日期。
谢谢
答案 0 :(得分:26)
您可以将此组件用于http请求,例如“POST”,“GET”,“DELETE”等。
要创建对象:
<%
Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
%>
使用方法“GET”发送数据:
<%
objXML.Open "GET", "http://mvp.sos.state.ga.us/?some=querystring", false
objXML.Send ""
Response.Write objXML.responseText
%>
请注意,Open方法有3个参数: HTTP方法,URL,异步调用。
请注意,“GET”上的Send方法忽略其参数。 (在这种情况下,我们通过URL传递参数。)
使用“POST”方法发送数据:
<%
objXML.Open "POST", "http://mvp.sos.state.ga.us/", false
objXML.Send "username=htbasaran&password=somepassword"
Response.Write objXML.responseText
%>
注意“POST”,Send方法以键值对格式传递参数,如: key1 = value1&amp; key2 = value2&amp; so = on ... 或任何其他数据,如XML,JSON等等。)
这些是此组件的基础知识。如果您需要更多信息,可以查看microsoft's docs page。
获取表单值并使用xmlhttp post方法发送表单值的示例代码。
<%
' getting form values
my_uname = Request.Form("username")
my_pword = Request.Form("password")
' creating object
Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
' sending variables to an external site
objXML.Open "POST", "http://www.sitename.com/login.asp", false
objXML.Send "username=" & my_uname & "&password=" & my_pword
' Assuming that successful login will return response "Ok"
' writing the result to the client.
if objXML.responseText="Ok" then
Response.Write "Login Successful!"
else
Response.Write "Login Failed!"
end if
%>