AJAX - Requetes asynchrones

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : AJAX - Requetes asynchrones

AJAX - Requetes asynchrones

par fredgt » 10 mars 2016, 10:42

Je developpe depuis quelques mois un site Web en utilisant Javascript et Ajax.

Quand je veux interroger le Web Services pour afficher des données, j'ai toujours 3 appels Ajax qui se suivent : la connexion au Web Service pour récupérer l'identifiant, l'appel à la procédure qui me retourne mes données, et la déconnexion.

Voici un extrait de ma syntaxe :
$.ajax({
type: "POST",
url: gw_url,
data: w_soap_cnx,
dataType: "xml",
async: true,
headers: {"SOAPAction": '""'},
contentType: "text/xml; charset=utf-8",
success: function(reponse)
{
// Je récupère mon ID
// J'appelle le WS pour exécuter ma requete
$.ajax({
type: "POST",
url: gw_url,
data: w_soap_mes_donnees,
dataType: "xml",
async: true,
headers: {"SOAPAction": '""'},
contentType: "text/xml; charset=utf-8",
success: function(reponse)
{
//Je récupère mes données
//Je me déconnecte
$.ajax({
type: "POST",
url: gw_url,
data: w_soap_mes_donnees,
dataType: "xml",
async: true,
headers: {"SOAPAction": '""'},
contentType: "text/xml; charset=utf-8",
success: function(reponse)
{
//Je suis déconnecté
}
});
}
});
}
});


Est-ce que mon imbrication est la meilleure façon de faire ?
Est-ce que je n'ai pas une autre solution pour faire de l'asynchrone sans imbriquer de cette facon ? En sachant que chaque appel doit s'exécuté lorsque le précédent appel est terminé.

J'ai un autre site Web en cours de développement, dans lequel on récupère beaucoup plus de données en passant par plusieurs procédures. J'ai donc parfois 3 ou 4 appels entre ma connexion et ma déconnexion. Le code n'est plus très lisible je trouve ....

Je vous remercie d'avance pour vos suggestions.


Cdlt,