【Ajax】XMLHttpRequest对象
什么是XMLHttpRequest对象?XMLHttpRequest对象用于在后台与服务器交换数据。能够:在不重新加载页面的情况下更新网页;在页面已加载后从服务器请求数据;在页面已加载后从服务器接收数据;在后台向服务器发送数据。所有现在的浏览器都支持XMLHttpRequest对象。 创建XMLHttpRequest对象?所有现代浏览器都内建了XMLHttpRequest对象,通过一行简单的JavaScript代码,我们就可以创建XMLHttpRequest对象。 xmlhttp = new XMLHttpRequest();
老版本的IE浏览器(IE5和IE6)使用AcitveX对象: xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
通常代码中的创建过程: var XMLHttp=null;
if (window.XMLHttpRequest)
{
XMLHttp=new XMLHttpRequest();
}else if (window.ActiveXObject)
{
XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
XMLHttpRequest对象属性? readyState属性:HTTP请求的状态,当一个XMLHttpRequest初次创建时,这个属性的值从0开始,知道接收到完整的HTTP响应,这个值增加到4。5个状态中每一个都有一个相关联的非正式的名称,下表列出了状态,名称和含义: readyState的值不会递减,除非当一个请求在处理过程中的时候调用了abort()或open()方法。每次这个属性的值增加的时候,都会触发onreadystatechange事件句柄(每次readyState属性改变的时候调用的事件句柄函数,当readyState为3时,它也可能调用多次)。 responseText属性:目前为止从服务器接收到的响应体(不包括头部),或者如果还没有接收到数据的话,就是空字符串。如果readyState小于3,这个属性就是一个空字符串。当readyState为3,这个属性返回目前已经接收的响应部分。如果readyState为4,这个属性保存了完整的响应体。如果响应体包含了为响应体指定字符编码的头部,就使用该编码。否则,假定使用Unicode UTF-8。 responseXML属性:对请求的响应,解析为XML并作为Document对象返回。如果响应体不是”text/xml”返回null。 status属性:由服务器返回的HTTP状态代码,如200表示成功,而404表示“Not Found”错误。当readyState小于3的时候读取这一属性会导致一个异常。 statusText属性:这个属性用名称而不是数字指定了请求的HTTP状态码。也就是说,当状态为200的时候它是“OK”,当状态码为404的时候它是“Not Found”。和Status属性一样,当readyState小于3的时候读取这一属性会导致一个异常。 XMLHttpRequest对象的方法? abort()方法:取消当前响应,关闭连接并且结束任何未完成的网络活动。这个方法把XMLHttpRequest对象重置为readyState为0的状态,并且取消所有未完成的网络活动。例如,如果请求用了太长时间,而且响应不再必要的时候,可以调用这个方法。 XMLHttpRequest.open() 初始化Http请求参数。语法open(method,url,async,username,password)。 XMLHttpRequest.send() 发送一个 HTTP 请求。语法:send(body)如果通过调用 open() 指定的 HTTP 方法是 POST 或 GET,body 参数指定了请求体,作为一个字符串或者 Document 对象。如果请求体不是必须的话,这个参数就为 null。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |