English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
XMLHttpRequest对象用于与服务器交换数据。
所有现代浏览器(Chrome,Firefox,IE7 +,Edge,Safari,Opera)都具有内置XMLHttpRequest对象。
XMLHttpRequest 通过与幕后的Web服务器交换数据来允许异步更新网页。
您可以从URL检索数据,而不必刷新整个页面。
这使网页可以更新页面的一部分,而不会中断用户的操作。
在客户端和服务器之间执行AJAX通信之前,首先要做的是示例化一个XMLHttpRequest对象,如下所示:
语法:
var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();Ver prueba‹/›
出于安全原因,现代浏览器不允许跨域访问。
这意味着该网页及其尝试加载的请求文件都必须位于同一服务器上。
oldtoolbag.com上的示例均打开了位于oldtoolbag.com域中的所有打开的请求文件。
如果要在自己的网页之一上使用上面的示例,则请求的文件必须位于您自己的服务器上。
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‹/›
La siguiente tabla enumera todas las propiedades del objeto XMLHttpRequest:
Atributo | Descripción |
---|---|
onreadystatechange | Definir la función a llamar cuando se cambia el atributo readyState |
readyState | Mantener 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 |
responseText | Devuelve los datos de respuesta en forma de cadena |
responseXML | Devuelve los datos de respuesta como datos XML |
status | Devuelve 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 |
statusText | Devuelve el texto de estado de estado (por ejemplo, “OK” o “No encontrado”) |
La siguiente tabla enumera todos los métodos del objeto XMLHttpRequest:
Método | Descripció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 |