有些情况下,可能需要将数据发送到端口或服务器,以便可以在页面或侦听应用程序中使用
Request 对象中的
Form 集合。为此,需要添加头来通知接收器:正文 (body) 包含可从
Form 集合中访问的数据。
回到顶端
发送的请求基于以下两部分:
头 和
正文。
头 包含有关
正文 的信息,以便接收器知道其中包含的是什么数据。
头信息
需要设置的头信息是
Content-Type。 在本例中,可将其设置为
application/x-www-form-urlencoded。
正文数据
正文 包含要发送的数据。数据采用的形式为
名称=
值。对于多个值,可以使用“&”符号分隔每个名称/值对。例如:
input1=Hello&input2=World&idValue=12345
接收器能够通过分别使用名称“input1”、“input2”和“idValue”来挑选值“Hello”、“World”和“12345”。
ServerXMLHTTP 对象的分步说明
| 1. | 确保服务器上有 MSXML 3.0 或更高版本的解析程序,已经运行了代理配置实用程序,并且已经正确设置。有关更多信息,请参阅本文的“参考”部分。 |
| 2. | 将下列代码复制到名为ServerHTTP.asp 的新 Active Server Page (ASP) 页中。将该 ASP 页放到默认的主目录中。<%@ Language=vbScript%>
<%
DataToSend = "id=1"
dim xmlhttp
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","http://localhost/Receiver.asp",false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send DataToSend
Response.ContentType = "text/xml"
Response.Write xmlhttp.responsexml.xml
Set xmlhttp = nothing
%>备注:由于线程处理问题,两个 ASP 文件应位于不同的虚拟文件夹中。
如果池设置为“Low”(低)或“Medium”(中)(这是 Microsoft Windows 2000 的默认设置),应在另一个虚拟文件夹中 POST 到 ASP。如果 ASP 在同一个虚拟文件夹中,ASP 将停止响应(挂起)。关闭浏览器后,该 ASP 和其他 ASP 将继续挂起,因为即使关闭浏览器,请求仍然在队列中。必须重新启动 IIS 或重新启动计算机。
如果将池更改为“High”(高),可以再次对远程 ASP 运行这段代码,因为使用的是新线程。
|
| 3. | 将下列代码复制到名为Receiver.asp 的新 ASP 页中。将该 ASP 页放到默认的主目录中。<%@language=vbscript%>
<%
value = Request.Form("id")
Response.ContentType = "text/xml"
response.write "<ReturnValue>" & value & "</ReturnValue>"
%>
发布时,请务必使用服务器名而不是 Localhost,而且被 XMLHttp 打开的 URL 也应当包含同一服务器名。
|
| 4. | 确保“POST”指向正确的位置。 |
| 5. | 单击Submit(提交) XMLHTTP 按钮。 |
如果只是在客户端脚本中使用
XMLHTTP 对象,必须遵守同样的头信息和数据格式。
XMLHTTP 对象的分步说明
| 1. | 将下列代码复制到名为ClientHTTP.asp 的新 ASP 页中。将该 ASP 页放到默认的主目录中。
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function XMLHTTPButton_onclick() {
var DataToSend = "id=1";
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST","http://<%=Request.ServerVariables("Server_Name")%>/Receiver.asp",false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(DataToSend);
alert(xmlhttp.responseXML.xml);
}
//-->
</SCRIPT>
<INPUT type="button" value="Submit XMLHTTP" id=XMLHTTPButton name=XMLHTTPButton
LANGUAGE=javascript onclick="return XMLHTTPButton_onclick()">
|
| 2. | 从前面概述的ServerXMLHTTP 步骤的第 3 步中创建页面。 |
| 3. | 确保“POST”指向正确的位置。 |
| 4. | 在浏览器中加载ClientHTTP.asp 。 |
回到顶端
有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库文章:
289481 (http://support.microsoft.com/kb/289481/EN-US/) HOWTO:Proxy Configuration Utility Must Be Run for ServerXMLHTTP to Work(HOWTO:必须运行代理配置实用工具才能使 ServerXMLHTTP 工作)
回到顶端