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

JavaScript Discussion :

Envoyer des paramètres get sans recharger ma page ?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Envoyer des paramètres get sans recharger ma page ?
    Bonjour,

    Voilà comme dit dans le titre je cherche à savoir s'il est possible d'envoyer des paramètre get sans pour autant recharger la page ?

    Parce que je suis sur une des pages du site que je suis en train de réalisé qui affiche une google maps. Je suis dans le principe où quand c'est bon j'affiche la carte et itinéraire, et quand il y a erreur d'itinéraire, la page reste tel quelle (elle reste sur la dernière recherche effectuée sur la page).

    Quand il y a une erreur, j'affiche un cadre avec mon erreur dedans. Je faisais tout avec JQuery et ça passait bien. Mais vu que l'affichage d'erreur je l'utilise sur plusieurs pages, j'ai créée une classe php pour mes erreurs et un fichier php que j'inclue dans mes pages qui sert à afficher ces erreurs.

    Mais l'affichage des erreurs ne se fait que quand il trouve le paramètre "c" (correspond au code de l'erreur) dans l'url.

    Donc j'ai réussi avec $(location).attr("href",url) à le faire fonctionner mais ici je sors de cadre où quand il y a une erreur, l'erreur et la page reste tel quelle.

    Donc serait-il possible d'envoyer des paramètre get pour faire s'afficher mon include sans pour autant recharger la page ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Utilises la methode get() de jQuery.

    A+.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Tout d'abord merci pour ta réponse.

    Mais pourrais-tu m'en dire un peu plus sur cette méthode ? Car c'est déjà une option que j'ai essayé mais je n'arrive pas à la faire fonctionner.

    Par exemple, je veux envoyer mes paramètres GET à ma page d'index, j'ai deux paramètre, t qui a pour valeur e, et c qui a pour valeur 001.

    Je test $.get("index.php",{t:"e",c:"001"}); mais j'ai eu droit à une erreur, de mémoire ca devait un truc comme quoi les id n'était pas valide.

    Merci d'avance.

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    A tout hasard:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get("index.php",{"t":"e","c":"001"});

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Ben là ca doit passer car plus d'erreur javascript mais par contre rien ne s'affiche.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get("index.php",{"t":"e","c":"001"},function(data){alert(data)});
    à la place de alert tu mets à jour ta page.

    A+.

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Merci pour vos réponses.

    andry.aime comment fais-tu pour mettre ta page à jour ? Je cherche sur google mais pour le moment je ne trouve pas.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get("index.php",{"t":"e","c":"001"},function(data){//mets la page à jour ici});
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Merci pour ta réponse, mais en fait c'est la fonction qui met un page à jour que je trouve pas.

    Merci d'avance.

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    il n'y a pas de fonction qui mette la page à jour ...

    c'est a toi de modifier le contenu ou le style des elements de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $.get("index.php",{"t":"e","c":"001"},function(data){document.getElementById('IdDeMonDivModifiable').innerHTML=data;});
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Désolé pour le retard de ma réponse.

    Bon en fait ça ne marche toujours pas, avec cette méthode il faut que je modifie le contenu de ma div contenant les erreurs, or cette div n'est créer avec mon script php que lorsque les paramètre get sont trouvés.

    Mais bon ce n'est pas grave si cela ne marche pas étant donné que j'ai changé ma manière d'afficher et que maintenant cela passe par une variable de session (donc plus en get). J'ai repris la méthode affichage avec jquery et ces erreurs sont gérées différemment de toutes les autres.

    Merci tout de même pour vos réponses.

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    si ton div n'est pas présent sur la page créées le !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var ref = $(this).attr('rev');
    $.get("index.php?pages=listeC",{"ref:"+ref});
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $_GET['ref']; ?>
    ne marche pas pour moi :/

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Vive le déterrage de topic

    C'est normal que ça ne fonctionne pas, tu ne fais qu'envoyer une requète et tu ignore la réponse du server.
    Je m'explique, la requète get de Jquery envoie une requète http get en utilisant xhr/ajax. C'est donc un fonctionnement asynchrone, car tu t'imagine bien que si tous tes scripts Js devaient s'arrêter en attendant la réponse du serveur...

    Du coup, ce que fait la fonction c'est envoyer une requète http de type 'get' au serveur passé en paramètre, le deuxième paramètre permet de définir le contenu de la requète et le 3ème que tu oublie ici indique la fonction à appeller lorsque la réponse du serveur est enfin arrivée, ça s'appelle une fonction de callback.

    Du coup, la requète est envoyée, une fois envoyée, ton script continue de faire son boulot.
    Une fois la réponse du serveur reçue, la fonction de callback est appellée, et c'est ici que tu peux récupérer le contenu de la réponse du serveur et en faire ce que tu veux.

    En gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var ref = $(this).attr('rev');
    $.get("index.php?pages=listeC",{"ref:"+ref}, AfficherReponse);
     
    AfficherReponse = function (data) {
    alert(data)
    }
    Tu peux aussi directement définir la fonction à effectuer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.get("index.php?pages=listeC",{"ref:"+ref}, function(data) {
    alert(data)
    })
    Ou, dans ce cas précis, directement appeller la fonction alert() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get("index.php?pages=listeC",{"ref:"+ref}, alert)
    Concernant la syntaxe : http://api.jquery.com/jquery.get/


    Je te conseille de revoir les bases de la programmation javascript .

Discussions similaires

  1. Envoyer des paramètres à la page master
    Par kazhar dans le forum ASP.NET
    Réponses: 6
    Dernier message: 24/10/2008, 11h50
  2. afficher des données a l´interieur d´un tab panel sans recharger la page
    Par makohsarah dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/05/2008, 20h44
  3. Réponses: 6
    Dernier message: 19/04/2008, 14h03
  4. [AJAX] Comment envoyer au serveur une seul info sans recharger la page
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2007, 12h10
  5. Réponses: 13
    Dernier message: 01/10/2006, 15h52

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