English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - XMLHttpRequest 对象

XMLHttpRequest对象用于与服务器交换数据。

XMLHttpRequest对象

所有现代浏览器(Chrome,Firefox,IE7 +,Edge,Safari,Opera)都具有内置XMLHttpRequest对象。

XMLHttpRequest 通过与幕后的Web服务器交换数据来允许异步更新网页。

您可以从URL检索数据,而不必刷新整个页面。

这使网页可以更新页面的一部分,而不会中断用户的操作。

创建一个XMLHttpRequest对象

在客户端和服务器之间执行AJAX通信之前,首先要做的是示例化一个XMLHttpRequest对象,如下所示:

语法:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
Ver prueba‹/›

跨站点XMLHttpRequest

出于安全原因,现代浏览器不允许跨域访问。

这意味着该网页及其尝试加载的请求文件都必须位于同一服务器上。

oldtoolbag.com上的示例均打开了位于oldtoolbag.com域中的所有打开的请求文件。

如果要在自己的网页之一上使用上面的示例,则请求的文件必须位于您自己的服务器上。

较旧的浏览器(适用于IE 6及更早版本)

Internet Explorer的旧版本(6和更早版本)使用的是ActiveX对象而不是XMLHttpRequest对象。

Syntax:
var request = new ActiveXObject("Microsoft.XMLHTTP");

要处理IE6及更早版本,请检查浏览器是否支持该XMLHttpRequest对象,否则创建一个ActiveX对象:

var httpRequest;
if (window.XMLHttpRequest) {
    // 目前主流的浏览器(Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 o versiones anteriores de IE
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
Ver prueba‹/›

Propiedades del objeto XMLHttpRequest

La siguiente tabla enumera todas las propiedades del objeto XMLHttpRequest:

AtributoDescripción
onreadystatechangeDefinir la función a llamar cuando se cambia el atributo readyState
readyStateMantener el estado de XMLHttpRequest:
0:Solicitud no inicializada
1:Conexión del servidor establecida
2:Recibir la solicitud
3:Procesar la solicitud
4:la solicitud se completó y la respuesta está lista
responseTextDevuelve los datos de respuesta en forma de cadena
responseXMLDevuelve los datos de respuesta como datos XML
statusDevuelve el número de estado de la solicitud:
200:“OK”
403:“Prohibido”
404:“No encontrado”
Para una lista completa, visiteReferencia de código de estado HTTP
statusTextDevuelve el texto de estado de estado (por ejemplo, “OK” o “No encontrado”)

Métodos del objeto XMLHttpRequest

La siguiente tabla enumera todos los métodos del objeto XMLHttpRequest:

MétodoDescripción
new XMLHttpRequest()Crear un nuevo objeto XMLHttpRequest
abort()Cancelar la solicitud actual
getAllResponseHeaders()Devolver información de título
getResponseHeader()Devolver información específica de encabezado
open(method, url, async)Especificar solicitud
method:tipo de solicitudGEToPOST
url:ubicación del archivo
async:true(asincrónico)o false(sincrónico)
send()Enviar solicitud a
Usado paraGETServidor de solicitud
send(string)Enviar la solicitud al servidor.
Usado paraPOSTSolicitud
setRequestHeader(header, value)Establecer encabezados HTTP en la solicitud
header:Especificar el nombre del encabezado
value:Especificar valores de encabezado