导航:首页 > IDC知识 > 服务器xmlhttp

服务器xmlhttp

发布时间:2021-02-12 15:12:41

1、服务器不支持XMLHTTP是咋回事

服务器默认的是显示错误信息的,去掉 "HTTP友好错误."是客户端的浏览器的事情,IE设置自己找下,FireFox默认的是显示错误的信息的.

2、如何利用XMLHttpRequest实现向服务器发送请求

使用XMLHttpRequest对象自发送请求的基本步骤如下:

1. 为得到XMLHttpRequest对象实例的一个引用,可以创建一个新的实例,也可以访问包含有XMLHttpRequest实例的一个变量。
2. 告诉XMLHttpRequest对象,哪个函数会处理XMLHttpRequest对象状态的改变,为此要把对象的onreadystatechange属性设置为指向JavaScript函数的指针。
3. 指定请求的属性。XMLHttpRequest对象的open()方法会指定将发出的请求。open()方法取3个参数:一个是指示所用方法(通常是GET或POST)的串;一个是表示目标资源URL的串;一个是Boolean值,指示请求是否是异步的。
4. 将请求发送给服务器。XMLHttpRequest对象的send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向send()方法提供参数时,要确保open()中指定的方法是POST。如果没有数据作为请求体的一部分被发送,则使用null。

3、如何通过使用 XMLHTTP 或 ServerXMLHTTP 对象提交窗体数据

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 。转载,仅供参考。

4、我进一个网站说您的浏览器不支持XMLHTTP是什么意思啊?怎么办?

最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据内的一套容API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft XML Document Object Model (DOM)处理回应。现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。

5、当服务器返回一个xml文档时,网页中的xmlhttprequest对象最好使用什么属性获取这个

由于现在在公司负责制作标准的静态页面,为了增强客户体验,所以经常要做些AJAX效果,也学你也和我一样在,学习AJAX。而设计AJAX时使用的一个重要的技术(工具)就是XMLHTTPRequest对象了。这里海啸把我学习XMLHTTPRequest对象的一点资料拿出来跟大家一起分享。文中的资料都是海啸在学习时在网上收集的,如果您开过,那就再加深下印象吧!(如果您觉得侵犯了您的版权,请联系海啸。(haixiao_yao[at]yahoo.com.cn))

1、XMLHTTPRequest对象什么是?

最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。(这个功能正是AJAX的一大特点之一:))

来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft? XML Document Object Model (DOM)处理回应。

这里说些题外话,其实这个东西很早就出现了,只是以前浏览器的支持不够,只有IE中才支持,所以大多数的WEB程序员都没有怎么用他,但是现在情况发生了很大地改变,Mozilla和Safari把它采用为事实上的标准,主流的浏览器都开始支持XMLHTTPRequest对象了。但是这里需要重点说明的是XMLHTTPRequest目前还不是一个W3C的标准,所以在不同的浏览器上表现也稍有些区别。

2、创建XMLHTTPRequest对象

对了,说到区别,我们这里来看看怎么来声明(使用)它,在使用XMLHTTPRequest对象发送请求和处理响应之前,我们必须要用javascript创建一个XMLHTTPRequest对象。(IE把XMLHTTPRequest实现为一个ActiveX对象,其他的浏览器[如Firefox/Safari/Opear]则把它实现为一个本地的javascript对象)。下面我们就来看看具体怎么运用javascript来创建它吧:

<script language="javascript" type="text/javascript">
<!--
var xmlhttp;
// 创建XMLHTTPRequest对象
function createXMLHTTPRequest(){
if(window.ActiveXObject){ // 判断是否支持ActiveX控件
xmlhttp = new ActiveObject("Microsoft.XMLHTTP"); // 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
}
else if(window.XMLHTTPRequest){ // 判断是否把XMLHTTPRequest实现为一个本地javascript对象
xmlhttp = new XMLHTTPRequest(); // 创建XMLHTTPRequest的一个实例(本地javascript对象)
}
}
//-->
</script>

3、属性和方法

由于东西太多现在先用个页面来列举出说有的方法和属性,以后再来详细举例(主要是本人也在学习中)。

<html>
<head>
<title>XMLHTTPRequest对象的说明DEMO</title>
<script language="javascript" type="text/javascript">
<!--
var xmlhttp;
// 创建一个XMLHTTPRequest对象
function createXMLHTTPRequext(){
if(window.ActiveXObject) {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if(window.XMLHTTPRequest){
xmlhttp = new XMLHTTPRequest();
}

6、求xmlhttprequest实例,包含服务器端代码,能简单的互发hello world就行。

楼主啊,你说的这个其实是C/S里面的Ajax的东东了,其实实现不难,通过js实现的,核心对象肯定是XMLHttpRequest了,好了编写代码吧,首先编写两个页面,一个html(login.html)页面,一个ashx(Login.ashx)(一般处理程序,或者aspx也行),html页面的头部标签<head></head>中编写<script>代码
<script type="text/javascript">

window.onload=function(){
//创建ajax异步对象

var xhr=new XMLHttpRequest();

//设置异步对象的属性,传递方式get,请求页面Login.ashx,是否开启异步

xhr.open("get","Login.ashx?type=p",true);

//设置get方式不使用浏览器缓存

xhr.setRequestHeader("If-Modified-Since","0");

//设置回调函数

xhr.onreadystatechange=function(){
//如果xhr接收完数据

if(xhr.readyState==4){
//判断响应状态吗是否为200,表示成功接收服务器发来的数据
if(xhr.status==200){
//获取服务器发送来的数据,因为使用的是get方式,所以用responseText,如果用post方式的话就用requestText
var str=xhr.response.Text;

//打印一下,看是否成功,肯定是成功了,在这下面写你要加的逻辑代码吧

aler(str);

}
}
}

xhr.send(null);

}

</script>

好了,服务器端的一般处理程序的代码如下:

//获取浏览器端发送过来的数据

string str=context.Request.QueryString["type"];

//判断是否为空

if(str!=null)

{
if(str=="p")

{
//表明传递过来的xhr.open("get","Login.ashx?type=p",true);这个里面的参数type=p成功传递,下面就向客户端输出东西吧,~~~~输出Hello World吧(寄托了程序员美好的愿望)

context.Response.Write("Hello World~~让世界更有爱");

}

}
-----------------------------------华丽的分割线----------------------------
哦,对了,到此所有代码完毕,楼主需要互发Hello World,其实很简单,异步对象的open属性中的
xhr.open("get","Login.ashx?type=p",true);改为type=hello world,,然后一般处理程序Login.ashx,的判断if(str=="p")改为,if(str=="hello world"),OK,搞定!

7、如何在 IIS 服务器上的 ServerXMLHTTP 请求对象中安装客户端证书

P12格式的正式应该是pfx后缀的文件,这个证书是包含公私钥对的证书文件,根证书肯定不专是这个格式的,应该是一个属cer格式的文件。首先,你需要把这个根证书导入到控制台中(MMC-添加单元-证书-计算机账户-本地计算机),添加到第三方受信任证书颁发机构中,在客户端和服务器端的控制台都导入这个证书。在IIS中导入服务器证书,那个PKCS#12的证书。并在设置中选择要求客户端证书,这个就不细说了。然后在客户端双击用户证书,导入用户证书,在向导中导入位置选择个人。然后访问即可

8、服务器怎么才能支持 XMLHTTP

http://v.ku6.com/show/llvKOqWD7dy6Nom5WIzYEw...html

9、用xmlhttp可以获取别人服务器的网页吗?

xmlhttp获取的内容抄其实和你用袭IE直接打开人家的网页所得到的内容是一样的。
它只能得到远程服务器最终输出的内容。而不是服务端代码。ASP,JSP,PHP等代码是在远程服务器内部执行的,不会被xmlhttp远程获取。

与服务器xmlhttp相关的知识