如何通过使用 XMLHTTP 或 ServerXMLHTTP 对象提交窗体数据
发布网友
发布时间:2022-04-30 13:11
我来回答
共1个回答
热心网友
时间:2022-04-25 00:16
ServerXMLHTTP 对象的分步说明
确保服务器上有 MSXML 3.0 或更高版本的解析程序,已经运行了代理配置实用程序,并且已经正确设置。有关更多信息,请参阅本文的“参考”部分。
将下列代码复制到名为ServerHTTP.asp 的新 Active Server Page (ASP) 页中。将该 ASP 页放到默认的主目录中。
<%@ Language=vbScript%>
<%
DataToSend = "id=1"
dim xmlhttp
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","ocalhost/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 运行这段代码,因为使用的是新线程。
将下列代码复制到名为Receiver.asp 的新 ASP 页中。将该 ASP 页放到默认的主目录中。
<%@language=vbscript%>
<%
value = Request.Form("id")
Response.ContentType = "text/xml"
response.write "<ReturnValue>" & value & "</ReturnValue>"
%>
发布时,请务必使用服务器名而不是 Localhost,而且被 XMLHttp 打开的 URL 也应当包含同一服务器名。
确保“POST”指向正确的位置。
单击Submit(提交) XMLHTTP 按钮。
如果只是在客户端脚本中使用XMLHTTP 对象,必须遵守同样的头信息和数据格式。
XMLHTTP 对象的分步说明
将下列代码复制到名为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"," <%=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()">
从前面概述的ServerXMLHTTP 步骤的第 3 步中创建页面。
确保“POST”指向正确的位置。
在浏览器中加载ClientHTTP.asp 。转载,仅供参考。