xmlhttp的问题

时间:2010-10-28 14:25:15

标签: asp-classic vbscript xmlhttprequest

我有以下代码从网络服务器中获取详细信息

<%@ LANGUAGE=VBScript%>
<%
vCustomerUserName = "name"
vCustomerPassword = "password"
vEventID = 123456
vEmail = "myname@me.com"
vPassword = "1122334455"

Response.Buffer=False 

Dim MyConnection
Dim TheURL

''# Specifying the URL
dataURL = "http://www.regonline.com/authorization.asmx/authorizeMemberWithEmailAddress"

Set MyConnection = Server.CreateObject("Microsoft.XMLHTTP")
''# Connecting to the URL
MyConnection.Open "POST", dataURL, False
MyConnection.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 

''# Sending and getting data
strQueryString = "customerUserName=" & vCustomerUserName & "&customerPassword=" & vCustomerPassword & "&eventID=" & vEventID & "&emailAddress=" & vEmail & "&password=" & vPassword

''# MyConnection.Send
MyConnection.Send strQueryString

TheData = MyConnection.responseText

''# Set the appropriate content type
Response.ContentType = MyConnection.getResponseHeader("Content-type")


Response.Write (TheData)

Set MyConnection = Nothing
%>

如果我在浏览器中运行此页面,它将返回看似xml文档的内容。我需要做的是提取特定节点的值,然后以

的形式将其发送到浏览器
response.write firstName=bob&lastName=smith

有谁能帮助我,这让我很生气,到目前为止已经花了很长时间才无处可去。我似乎无法从服务器访问作为xml文档的回复,并希望得到任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用responseXML属性而不是responseText。它是IXMLDOMDocument对象的实例。然后,您可以使用XPath通过selectSingleNode方法选择所需的数据。

如果响应的内容类型未设置为text/xmlapplication/xml,则无效。如果是这种情况,您仍然可以使用MSXML将responseText加载到DOMDocument中并选择所需的数据。

需要注意的另一点是,通常不建议从服务器端应用程序使用XMLHTTP对象。它意味着从客户端使用,因为它取决于WinInet。您应该使用ServerXMLHttp代替。它具有相同的功能,但依赖于WinHTTP而不是WinInet。有关详细信息,请参阅FAQ