Проблемы с xmlhttp - PullRequest
       31

Проблемы с xmlhttp

0 голосов
/ 28 октября 2010

У меня есть следующий код для получения сведений с веб-сервера

<%@ 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 Ответ

1 голос
/ 29 октября 2010

Вы можете использовать свойство responseXML вместо responseText. Это экземпляр объекта IXMLDOMDocument . Затем вы можете использовать XPath , чтобы выбрать нужные данные с помощью метода selectSingleNode.

Это не будет работать, если тип содержимого ответа не установлен на text/xml или application/xml. В этом случае вы все равно можете использовать MSXML, чтобы загрузить responseText в DOMDocument и выбрать нужные данные.

Еще одна вещь, на которую следует обратить внимание, это то, что обычно не рекомендуется использовать объект XMLHTTP из приложения на стороне сервера. Он предназначен для использования на стороне клиента, поскольку зависит от WinInet. Вы должны использовать ServerXMLHttp взамен. Он имеет ту же функциональность, но зависит от WinHTTP в отличие от WinInet. См. FAQ для получения дополнительной информации.

...