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 :

[AJAX] Ajax et Json - cr�ation d'un .json par PHP


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    29
    D�tails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 29
    Par d�faut [AJAX] Ajax et Json - cr�ation d'un .json par PHP
    Hello,


    Le probl�me a plus l'air de se situer aux deuxi�me reply. Je le laisse pour ceux qui veulent savoir pourquoi je veux m'en servir.
    Apr�s quelques heures d'arrachage de cheveux, je viens le partager ici.

    Je suis en train de r�aliser une page en ajax, dans lequel il sera possible de faire un devis. Suivant les choix, les prix,d�lais, l'affichage du produit seront actualis�s.

    Mon souci est le suivant : lors d'un �v�nement (un onblur ou onchange), plusieurs parties de ma page doivent s'actualiser.

    Au d�but je faisais �a de cette fa�on :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <input id="support" class="mesinputs" onblur="javascript:choixsupport(); calculprix(); affichSupport();"/>
    La premi�re fonction enregistre le choix dans un objet PHP. La deuxi�me recalcule le prix et l'affiche. La derni�re actualise le support. Ce qu'il n'allait pas c'est que le support s'affichait, alors que le choix n'�tait pas toujours modifi�.

    Je me suis donc document� un peu plus sur l'Ajax et j'ai trouv� sur developpez.com, un framework pour l'ajax. J'aimerais donc m'en servir, �tant donn� qu'on peut g�rer mieux l'Ajax, dans mon cas surtout gra�e � onSucces.

    J'essaye donc de g�rer �a de la sorte.

    index.html
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <input id="support" class="mesinputs" onblur="javascript:choixsupport(idElement);"/>
    choix.js
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    function choixSupport(idElement){
    //affichSupport();verifEmplacement(1,'.$this->id.');
     
          var idRecepteur = "btntransfert";
         //var idRecepteur = "visumarquage";
          var fichierPHP = "ajax/choixsupport.php"
     
          new Ajax.Updater(
     
                 idRecepteur,
    	fichierPHP,
    	{
    	       method: 'post',
    	       parameters : {support : $F("support"+idElement), idelement : idElement},
    	       onSuccess : function (json){
     
    	        alert(json.fonctions.choix);
    	        }
    	}
            );
     
     
    }
    choixsupport.php
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
     
    require "./php/class/devis.php";
     
    session_start();
     
    if(isset($_POST["support"]))            $support = $_POST["support"];
    if(isset($_POST["idelement"]))  $idelement = $_POST["idelement"];
     
    $_SESSION['mondevis']->tabElement[$idelement]->support = $support;
    $varDyn = $_SESSION['mondevis']->tabElement[$idelement]->couleur ;
     
    $jsonFormat = array(
                    'fonctions' => array(
                            'choix' => 'verifEmplacement('.$varDyn.')',
                            'choix' => 'affichSupport('.$idelement.')',
                            )
                            
                    );
    echo json_encode($jsonFormat);
    header("X-JSON : ".json_encode($jsonFormat));
     
     
    ?>
    Apparement le fichier JSON se cr�e bien, mais je n'arrive pas � l'exploiter du cot� javascript.

    Est-ce que quelqu'un voit une erreur ? Ma m�thode est elle bonne ou un peu tordu ?

    Merci pour vos r�ponse.

  2. #2
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    29
    D�tails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 29
    Par d�faut
    J'ai r�-essay� ce matin. Je n'arrive toujours pas � faire marcher tout �a.

    Je me demande si le JSON n'est pas mal foutu.

    J'ai essay� de plusieurs mani�re, aucune ne fonctionne :s.

    PHP :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $jsonFormat = array(
    	"fonctions"=>array(
    		1=>"calculPrix()",
    		2=>"calculPrix1()",
    		3=>"calculPrix2()",
    		)
    	);
     
    $jsonFormat = json_encode($jsonFormat);
    echo $jsonFormat;
     
    // Renvoi : {"fonctions":{"1":"calculPrix()","2":"calculPrix1()","3":"calculPrix2()"}}
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    $jsonFormat = array();
    $jsonFormat['fonctions'][] = 'calculPrix()';
    $jsonFormat['fonctions'][] = 'calculPrix1()';
    $jsonFormat['fonctions'][] = 'calculPrix2()';
     
    // Renvoi : {"fonctions":["calculPrix()","calculPrix1()","calculPrix2()"]}
    Quelqu'un saurait comment construire un tableau assiossatif JSON avec PHP s'il vous plait ?

Discussions similaires

  1. [2.x] Ajax : Retourner un render de template en json
    Par noname2 dans le forum Symfony
    R�ponses: 4
    Dernier message: 13/10/2014, 09h43
  2. Cr�ation d'un json trop long
    Par Invit� dans le forum C#
    R�ponses: 2
    Dernier message: 25/08/2014, 10h43
  3. Erreur a la cr�ation d'un Json
    Par maxusn dans le forum Langage
    R�ponses: 2
    Dernier message: 27/11/2012, 16h42
  4. R�ponses: 1
    Dernier message: 14/05/2010, 11h13
  5. Cr�ation de fichier json avec PHP
    Par versus68 dans le forum Langage
    R�ponses: 1
    Dernier message: 02/06/2008, 11h56

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