我正在将ASP网页的两面写到ASP网页对话中,其中原始网页将信息推送到接收网页,接收网页然后处理它并发回响应.原始网页必须使用以下代码开始对话:
url = "www.receivingwebsite.com\asp\receivingwebpage.asp information = "UserName=Colt&PassWord=Taylor&Data=100" Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP") xmlhttp.Open "POST", url, false xmlhttp.setRequestHeader "Content-Type", "text/xml" xmlhttp.send information
...然后以某种方式接收页面中的ASP代码必须能够看到发送的信息.我已经尝试了我能想到的一切.信息不在请求对象querystring
或表单数组中(因为内容类型是text/xml
),我尝试将整个请求对象domdocument
通过其load()
和/或loadxml()
方法传递给它.
无论我做什么,我都找不到信息,但我知道它正在被发送,因为当我更改内容类型时application/x-www-form-urlencoded
,我可以在request.form
数组中看到它.
那么当内容类型是text/xml
什么时,我的信息在哪里?
将content-type设置为"text/xml"时,您确实需要将信息作为XML字符串发送,而不是名称 - 值列表.
url = "www.receivingwebsite.com\asp\receivingwebpage.asp" information = "" Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP") xmlhttp.Open "POST", url, false xmlhttp.setRequestHeader "Content-Type", "text/xml" xmlhttp.send information Colt Taylor 100
然后,在接收ASP页面中,您将按如下方式捕获XML:
Dim xmlDoc Dim userName set xmlDoc=Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load(Request) userName = xmlDoc.documentElement.selectSingleNode("UserName").firstChild.nodeValue