Complemento jQuery ajaxreadystate
La implementación de jQuery AJAX es algo limitada porque no proporciona una forma de responder a los eventos readystatechange
que se activan durante la solicitud AJAX. La documentación de la API jQuery.ajax
en realidad establece lo siguiente.
Sin embargo, no se proporciona ningún mecanismo
onreadystatechange
, ya quedone
,fail
,always
ystatusCode
cubren todos los requisitos imaginables.
Si bien esta afirmación es cierta para la mayoría de los casos de uso, ¿qué sucede si desea acceder a los encabezados de respuesta o al código de estado antes de que se complete toda la solicitud, o acceder al cuerpo de la respuesta mientras se transmite?
Evidentemente, jQuery no proporciona esta funcionalidad debido a problemas de compatibilidad del navegador, por lo que este complemento agrega esta funcionalidad adicional para los navegadores que admiten estas características (consulte las notas de compatibilidad a continuación).
Este complemento funciona agregando un nuevo método jQuery.ajaxreadystate
, que actúa como un contenedor para jQuery.ajax
, extendiendo la funcionalidad y actualizando el objeto jqXHR
para eliminar las limitaciones y actualizar las propiedades a medida que cambia readyState
.
Usas jQuery.ajaxreadystate
tal como lo harías con jQuery.ajax
, excepto que tienes un método adicional que puedes definir, el método readystate
.
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ;
Este método se activará cada vez que la solicitud active un evento readystatechange
y pasará el objeto jqXHR
actualizado y el readyState
actual.
Puede descargar la última versión estable y minimizada desde la sección de versiones de este repositorio. Alternativamente, puede clonar la descarga del repositorio desde un administrador de paquetes.
###Totalmente compatible
Los siguientes navegadores son totalmente compatibles.
###Parcialmente compatible
Los siguientes navegadores son parcialmente compatibles debido a limitaciones técnicas del propio navegador. Se observan problemas de compatibilidad.
responseText
no está disponible hasta que readyState
sea 4
.readystatechange
para readyState
3
en algún momento durante la transferencia.responseText
no está disponible hasta que readyState
sea 4
.status
y statusText
no se actualizan hasta que readyState
sea 4
.getAllResponseHeaders
y getResponseHeader
devuelven null
hasta que readyState
sea 4
.readystate
solo se activa para readyState
1
.responseText
no está disponible hasta que readyState
sea 4
.status
y statusText
no se actualizan hasta que readyState
sea 4
.getAllResponseHeaders
y getResponseHeader
devuelven null
hasta que readyState
sea 4
.getAllResponseHeaders
y getResponseHeader
devuelven null
hasta que readyState
sea 3
.getAllResponseHeaders
y getResponseHeader
devuelven null
hasta que readyState
sea 3
.readystatechange
para readyState
3
en algún momento durante la transferencia.status
y statusText
no se actualizan hasta que readyState
sea 3
.readystatechange
para readyState
3
en algún momento durante la transferencia.status
y statusText
no se actualizan hasta que readyState
sea 3
.readystatechange
para readyState
3
en algún momento durante la transferencia.getAllResponseHeaders
y getResponseHeader
devuelven null
hasta que readyState
sea 4
.Los navegadores más antiguos que los enumerados no fueron probados, pero pueden ser parcial o totalmente compatibles.
Este complemento es compatible con jQuery 1.5+ y jQuery 2.0.0+.
Para crear una compilación minimizada, ejecute este comando desde el directorio raíz de este repositorio.
$ npm run build
Si encuentra un error o tiene problemas de compatibilidad no documentados anteriormente, abra un ticket en la sección de problemas de este repositorio.
Ver LICENCIA.txt
Si esta licencia no funciona para usted, no dude en ponerse en contacto conmigo.
Si encuentra útil mi software, considere hacer una modesta donación en mi sitio web alexomara.com.