2014-04-17 5 views
0

Merci d'avance pour toute aide.Utilisation de plusieurs appels ajax dans une seule fonction javascript

Est-ce une mauvaise pratique et/ou inefficace d'utiliser plusieurs appels $ .ajax dans une seule fonction javascript? J'ai travaillé sur un et j'ai un environnement de test simple mis en place sur mon ordinateur (serveur apache avec php/mysql), et j'ai remarqué que le serveur va planter (et redémarrer) si j'ai plusieurs appels ajax.

J'ai deux appels ajax actuellement: on passe 4 morceaux de données au fichier php et renvoie environ 3 lignes de code (en tirant des informations de ma base de données sql), l'autre obtient simplement le total des lignes de la table travailler avec et assigne ce nombre à une variable javascript. Est-il juste que ma configuration de test de base est trop faible, ou est-ce que je fais quelque chose de mal? Voir ci-dessous pour les deux appels ajax que j'utilise:

$.ajax({ 
    type: "GET", 
    url: "myURLhere.php", 
    cache: false, 
    data: {img : imageNumber, cap : imageNumber, width : dWidth, height : dHeight}, 
}) 
    .done(function(htmlpic) { 
     $("#leftOne").html(htmlpic); 
    }); 

$.ajax({ 
    type: "GET", 
    url: "myotherURLhere.php", 
    cache: false, 
    success: function(data) { 
     lastImage = data 
    } 
}) 
+0

en utilisant généralement plusieurs ajax dans un javascript n'a aucun problème. vous devriez chercher le journal du serveur pour voir ce qui cause le plantage. – ymonad

+0

Il doit y avoir un problème avec votre configuration. Que dit votre serveur lorsque vous faites de telles demandes? – shanks

+0

ce n'est pas faux, sauf si vous envisagez de construire quelque chose de très optimisé, mais avec une requête ajax vous pouvez obtenir les deux informations, réduisant ainsi la charge du client, du réseau et du serveur. –

Répondre

2

Réponse courte: deux requête ajax sur une page est absolument bien.

réponse plus longue:

Vous devez trouver l'équilibre entre minimalising le nombre d'appels ajax au back-end en réduisant le trafic et la communication au-dessus; et toujours maintenir une architecture maintenable (donc ne pas passer des douzaines de paramètres en un appel pour récupérer tout - peut-être seulement si vous le faites d'une manière bien conçue pour collecter chaque paramètre à envoyer)

Également le plus probable il y a quelque chose de mal avec votre configuration backend, essayez de regarder dans les logs du serveur web

+0

Merci pour l'info tout le monde. Je vais essayer de comprendre la configuration du backend - et merci pour les conseils sur l'optimisation de la conception d'ajax/php – Joseph

Questions connexes