IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

symfony,ajax c'est très lent avec une route pour keyup [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 124
    Par défaut symfony,ajax c'est très lent avec une route pour keyup
    Bonjours à tous,

    Voila c'est fait, j'ai fait mon premier appel ajax mais la, c'est le clache car ça rame.

    j'ai créer une table personne avec id,prenom & nom (entity + formBuilder)

    j'ai créer une nouvelle route chercheNom avec un paramètre celui du prenom que j'appelle en ajax pour alimente la valeur de mon champ récupéré avec jsonresponse() pour récupérer le nom. ({'nom':'dupond'})

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    			$(".code").keyup(function(){
    				$.ajax({
    					type : "get",
    					url  : "http://127.0.0.1/symfony/web/app_dev.php/client/prenom/" + $(this).val(),
    					beforeSend : function(){
    						console.log("ça charge");
    					},
    					success : function(data){
    						$(".nom").val(data.nom);
    						// console.log(data.nom);
    					},
     
    				});
    			});
    le problème rencontré est que via une route avec un keyup pour chaque touche il check tout: route cache etc.... donc lent

    j'en ai eu mare alors j'ai crée un php dans mon rep web et je l'ai alimente avec un mysql_query et la plus de problème c'est réactif.

    donc le problème vient bien du chemin parcouru par chaque keyup?

    donc ma question est: est il possible de faire un appel ajax sans forcément passer par une route genre fichier externe comme pour mon php à la mysql?

    ou une autre solution?

    par la suite, en plus de mon entity personne, j'ai crée adresse.

    j'ai inclus adresse que j'ai crée (entity) dans mon formulaire personne ainsi:

    formulaire personne +

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ->add('adresse', new adresseType());
    qui me sert d'array je crois pour aller récupérer mais champs de mon entite 2 dans l'entity 1

    en ajax j'alimente mes champs de adresse qui sont rue codepostal.

    Hors le handleRequest me modifie c'est dite valeurs lier à l'id de mon formuaire personne sur foreign key de adresse.

    Alors que je cherche pas à modifier mon adresse mais à uploaderla valeur du foreign key de mon adresse par default choisi.

    Donc comment faire ça.

    j'ai suivi quelque tutos:

    http://j-place.developpez.com/tutori...avec-symfony2/

    A chaque fois ça passe par une route et c'est lents.

    Voir parfois ça se mélange les crayons e::

    valeur rentré trop vite affiche et s'efface je dois pour cela sup le dernier caractère et le remètre.

    ou tuto 2 sur ajax avec un keyup au lieu de submit, bah si je vais trop vite il maffiche le tous pour ensuite appeler la valeur que je cherche et tout aussi lent.

    Donc il y aurait une solution crédible pour faire un appel ajax sur une entity sans passer par une route.

    surtout que niveau sécu, je check en backend avec mes asset et en front avec mes required ou minlenght etc.

    De plus les données que je cherchent viennent de ma base donc pas besoin de les checker de plus au submit ça vérifie tous.

    donc une solution via une route please ou alors sans route?

    le kif serait de pouvoir taper une entite sans passer par une route please.

    bien à vous.

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 124
    Par défaut
    hola heu de plus heu comme dirait camini mais ils sont fous ces gens!!

    mais de l'ajax sur smartphone ça fonctionne comment et le html5 pour les required huhhuhu vais mourir

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 124
    Par défaut
    c'est environ 3 à 4 secondes un ajax via une route en post ou get donc svp une idée car 4s par keyup non.

    si je fais un echo $_POST[x] sur une url vers un php sans passer par une route c'est direct comment palier à cela.

    imaginez geneviève = 9*4=36s lol

  4. #4
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    En général, un autocomplete contient toujours un système d'attente avant d'envoyer un évènement.
    Tu attends par exemple 0.5 ou 1 s au cas ou la saisie ai changé. Ou tu utilise un module d'autocomplete qui le fait pour toi en Javascript.

    Donc à part si la personne est super lente, ca ira et tu ne fera qu'une ou deux requetes lors de sa saisie.

    En plus, si tu utilise app_dev, c'est long, et ca le sera toujours. Vérifie tes perf en mode prod après quelques appels pour voir si ca va mieux ou pas. La mise en place du cache se fait a chaque requete en mode dev, et ca prend facilement 2-3 secondes.

    Insérer du PHP, c'est possible, mais c'est dommage parce que tu vas réduire ta maintenabilité.

    J'utilise souvent ajax, et ca marche aussi bien sur mobile qu'ailleurs avec des perf tout à fait décente derrière du symfony. (200ms avec un serveur pas puissant)

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 124
    Par défaut
    Décidément ça commence sérieusement à me gratter et me prendre le casque.

    J'ai un formulaire formBuilder + un input pour mon ajax.

    j'ai créer une route pour mon appel ajax qui vas sur une entité pour rechercher une ligne jusque la tout est ok.

    Mais je souhaite que si la vaeur est bonne que mon foreign key de l'autre méthode donc celle qui gère le formulaire soit modifier en conséquence.

    Hors c'est la quelle des 2 méthode qui doit renseigner mon foreign key fonction des valeus choisis ma methode pour l'ajax ou l'autre.

    La je sèche vraiment entre ajax et les objs.

  6. #6
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    De quoi parles tu ?
    Est-ce le même problème qu'avant ?

    Si non, peux tu créer une autre question.

    Si oui, peux tu expliquer plus précisément ce que tu attends, ce que tu as fais et ce qui bloque.

    Merci,
    Pierre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 29/09/2013, 11h47
  2. La connexion est très lente avec SQL Server
    Par akremb22 dans le forum C#
    Réponses: 4
    Dernier message: 08/07/2011, 17h52
  3. est-ce possible avec une macro ?
    Par gorgonite dans le forum C
    Réponses: 11
    Dernier message: 11/07/2007, 16h55
  4. [WS2003] Mon serveur est très lent
    Par beegees dans le forum Windows Serveur
    Réponses: 13
    Dernier message: 29/03/2007, 13h53
  5. Update trés lent sur une grosse table
    Par neo.51 dans le forum Oracle
    Réponses: 21
    Dernier message: 14/12/2005, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo