Page 1 sur 1

[JQuery] $.ajax et readyState==3

Posté : 08 sept. 2009, 18:00
par jojolapine
Bonjour à tous,
Je cherche actuellement à exploité des requêtes ajax en cours de traitement, mais ça n'est pas possible (à priori) avec les fonctions ajax de base de jquery, j'y parviens tout de même de cette manière:
[javascript]var xhr=$.ajax({
type: "POST",
url: "script.php",
data: requete
});

var taille=0;

var update=function(){
if (xhr.readyState == 3 && xhr.responseText.length > taille){
// traitement
}
};

xhr.onreadystatechange= function(){ update(); };
[/javascript]
Alors ça fonctionne tout bien, mais j'aimerais étendre jquery, afin de pouvoir faire plus propre, genre:
[javascript]
var taille=0;
$.ajax({
type: "POST",
url: "script.php",
data: requete,
onreadystatechange: function(status,response){
if(status==3 && response.length > taille){
//blabla
}
}
});[/javascript]
Seulement je n'ai aucune idée de comment faire...
Une idée?
Merci d'avance ;)

Re: [JQuery] $.ajax et readyState==3

Posté : 07 oct. 2009, 15:04
par SpiderNéo
Bonjour,
D'aprés moi, tu devrais voir du coté de

jQuery.ajaxComplete()
jQuery.ajaxError()
jQuery.ajaxSend()
jQuery.ajaxSetup()
jQuery.ajaxStart()
jQuery.ajaxStop()
jQuery.ajaxSuccess()

Re: [JQuery] $.ajax et readyState==3

Posté : 07 oct. 2009, 15:37
par jojolapine
Le problème c'est que ces fonctions permettent de remplacer les tests sur readyState pour les valeurs:
"1" (ajaxStart()),
"2" (ajaxSend()) et
"4" (ajaxComplete() ou ajaxSuccess() je ne sais pas),
mais "l'état" "3" (ie données reçues en parties) ne possède pas de fonction dédiées...
Du coup ben obligé d'utiliser l'objet xhr retourné par $.ajax