Rechercher : dans
Par :

AJAX : Recuperer des données en asynchrone

Dernière réponse le 13 oct 2008 à 16:02:02 IdleMan, le 10 oct 2008 à 14:23:48 
 Signaler ce message aux modérateurs

Hello !! :)

J'utilise depuis quelques temps la Librairie Javascript/AJAX Jquery, mais j'ai un soucis, j'ai besoin d'envoyer une requete ajax et de recevoir une réponse du serveur.

D'après ce que j'ai compris, une requete ajax (donc asynchrone) n'attend pas la réponse du serveur (je ne peut donc pas recuperer les données renvoyées par le serveur) je suis donc obligé de me tourner vers des requete synchrone (SJAX ?) ça marche très bien mais le probleme avec les requetes synchrone c'est que ça bloque le naviguateur .

Ma question est donc la suivante :

Comment recuperer des données serveur tout en restant en asynchrone (avec Jquery)?

Celui qui trouve je lui fais un gros bisoux !!!

Configuration: Windows XP
Firefox 2.0.0.17

Meilleures réponses pour « AJAX : Recuperer des données en asynchrone » dans :
Récupérez vos données endommagées d'un CD/DVD VoirRécupérer des données endommagées d'un CD/DVD avec CDCheck D'abord rendez-vous au lien de téléchargement CDCheck. Le logiciel gratuit de Mitja Perko, analyse les données d'un CD/DVD et les récupére facilement. Mettre CDCheck en...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

Mimiste, le 10 oct 2008 à 14:33:19

Salut

JQuery je n'utilise pas je peu pas te dire precisement le code.. Mais je sais que quand je code quelque chose qui utilise l'ajax, l'objet XMLHttpRequest a un evenement qui ce declenche lorsque le serveur donne une reponse, et c'est donc dans le code de cet evenement que je place le code qui doit etre executé apres la requete ajax...

Alors je pense que dans JQuery il doit y avoir moyen d'acceder a cet evenement qui s'appel "onreadystatechange"

j'utilise ceci moi :

   
        //Attente de fin du traitement
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
                        // suite du Traitement.............
			
		}
        }
Si ce message vous a aidé n'oubliez pas de dire MERCI ;)

La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !

Répondre à Mimiste

2

IdleMan, le 11 oct 2008 à 01:53:00

Tout d'abord merci beaucoup pour ta réponse !

Sous jquery il n'existe pas onreadystatechange, mais il y a peut être un equivalent , voila les options assignées au requetes ajax sous jquery :

http://docs.jquery.com/Ajax/jQuery.ajax#options

J'imagine que l'option "complete" ou "success" correspond a ton onreadystatechange qu'en pense tu ?

Répondre à IdleMan

3

Mimiste, le 12 oct 2008 à 01:48:49

Oui ça doit certainement etre ça, apparement tu peu passer une fonction pour l'option success, j'imagine que ça veut dire que si la requete ajax ce deroule bien il lance la fonction que t'y a passé Si ce message vous a aidé n'oubliez pas de dire MERCI ;)

La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !

Répondre à Mimiste

4

IdleMan, le 13 oct 2008 à 12:01:41

Le probleme c'est que ma requete ajax ressemble a ça :

var contenu = $.ajax({
type: "POST",
url: 'mapage.php',
}).responseText;

Je recupere donc le contenu dans ma variable contenu grace au retour de responsText.

or si j'utilise un callback comme success :

var contenu = $.ajax({
type: "POST",
url: 'mapage.php',
success : function (){
afficher (contenu);
}
}).responseText;

Le responsetext ne fais pas partis du success, je ne vois pas comment l'y integrer ...
Je suis un peu dans la merde la .

Répondre à IdleMan

5

Mimiste, le 13 oct 2008 à 12:21:01

Ouai mais apparement si tu regarde la doc de jQuery tu peu passer deux parametres a ta fonction avec "data" qui est le resultat de la requete et "textStatus" l'etat de la requete

function (data, textStatus) {
afficher (data);
}

Si ce message vous a aidé n'oubliez pas de dire MERCI ;)

La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !

Répondre à Mimiste

6

IdleMan, le 13 oct 2008 à 13:39:50

Donc ma requete devrais ressembler a ça ? :

$.ajax({
type: "POST",
url: 'mapage.php',
success : function (requete,status){

afficher (requete);

}
});

Répondre à IdleMan

7

Mimiste, le 13 oct 2008 à 14:09:01
  • +1

Ben d'apres la doc sa devrai marcher oui Si ce message vous a aidé n'oubliez pas de dire MERCI ;)

La sportivité commence là où le diesel s'arrête !
You can still watch this ? Wait until the Vtec kick in !

Répondre à Mimiste

8

 IdleMan, le 13 oct 2008 à 16:02:02
  • +1

Ca marche !! Merci beaucoup t'est un chef !!!

donc récapitualitf pour ceux qui auraient le meme soucis que moi :

Pour recuperer des données serveur en asynchrone avec Jquery :

$.ajax({
type: "POST",
url: "mapage.php",
success : function(contenu,etat){

$("#div").html(contenu);

}

}).responseText;


Merci encore pour ta patience et ta sagacité Mimiste !

Répondre à IdleMan