Plug-in jQuery ajaxreadystate
A implementação jQuery AJAX é um tanto limitada porque não fornece uma maneira de responder aos eventos readystatechange
que são acionados durante a solicitação AJAX. A documentação da API jQuery.ajax
afirma o seguinte.
No entanto, nenhum mecanismo
onreadystatechange
é fornecido, uma vez quedone
,fail
,always
estatusCode
cobrem todos os requisitos concebíveis.
Embora essa afirmação seja verdadeira para a maioria dos casos de uso, e se você quiser acessar os cabeçalhos de resposta ou o código de status antes que toda a solicitação seja concluída ou acessar o corpo da resposta durante o fluxo?
Evidentemente o jQuery não fornece esta funcionalidade devido a problemas de compatibilidade do navegador, então este plugin adiciona esta funcionalidade extra para navegadores que suportam esses recursos (veja notas de compatibilidade abaixo).
Este plugin funciona adicionando um novo método jQuery.ajaxreadystate
, que atua como um wrapper para jQuery.ajax
, estendendo a funcionalidade e atualizando o objeto jqXHR
para remover as limitações e atualizar as propriedades conforme o readyState
muda.
Você usa jQuery.ajaxreadystate
exatamente como faria com jQuery.ajax
, exceto que você tem um método extra que pode definir, o método readystate
.
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ;
Este método será acionado sempre que a solicitação disparar um evento readystatechange
e passará o objeto jqXHR
atualizado e o readyState
atual.
Você pode baixar a versão estável e reduzida mais recente na seção de lançamentos deste repositório. Alternativamente, você pode clonar o download do repositório de um gerenciador de pacotes.
###Totalmente Suportado
Os seguintes navegadores são totalmente suportados.
###Parcialmente Suportado
Os seguintes navegadores são parcialmente suportados devido a limitações técnicas do próprio navegador. Problemas de compatibilidade são observados.
responseText
não está disponível até que readyState
seja 4
.readystatechange
para readyState
3
em algum momento durante a transferência.responseText
não está disponível até que readyState
seja 4
.status
e statusText
não são atualizados até que readyState
seja 4
.getAllResponseHeaders
e getResponseHeader
retornam null
até que readyState
seja 4
.readystate
só é acionado para readyState
1
.responseText
não está disponível até que readyState
seja 4
.status
e statusText
não são atualizados até que readyState
seja 4
.getAllResponseHeaders
e getResponseHeader
retornam null
até que readyState
seja 4
.getAllResponseHeaders
e getResponseHeader
retornam null
até que readyState
seja 3
.getAllResponseHeaders
e getResponseHeader
retornam null
até que readyState
seja 3
.readystatechange
para readyState
3
em algum momento durante a transferência.status
e statusText
não são atualizados até que readyState
seja 3
.readystatechange
para readyState
3
em algum momento durante a transferência.status
e statusText
não são atualizados até que readyState
seja 3
.readystatechange
para readyState
3
em algum momento durante a transferência.getAllResponseHeaders
e getResponseHeader
retornam null
até que readyState
seja 4
.Navegadores mais antigos que os listados não foram testados, mas podem ser parcial ou totalmente suportados.
Este plugin é compatível com jQuery 1.5+ e jQuery 2.0.0+.
Para criar uma compilação reduzida, execute este comando no diretório raiz deste repositório.
$ npm run build
Se você encontrar um bug ou tiver problemas de compatibilidade não documentados acima, abra um ticket na seção de problemas deste repositório.
Consulte LICENSE.txt
Se esta licença não funcionar para você, sinta-se à vontade para entrar em contato comigo.
Se você achar meu software útil, considere fazer uma modesta doação em meu site em alexomara.com.