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]R�cup�ration de donn�es json (ajax)


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par d�faut [AJAX]R�cup�ration de donn�es json (ajax)
    Bonsoir a tous,

    Alors voila, je vous expose mon soucis :
    j'ai r�alis� une page qui comporte un formulaire. Une fois rempli et cliqu�, j'envoie les donn�es via ceci (mon javascript) :

    J'utilise prototype pour faciliter les �changes.

    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
    26
    27
    28
    29
    30
    31
    function mettreVenteJoueur()
    	{
    		var nbvente = $F('nbvente');
    		var typevente= $F('typevente');
    		var prix= $F('prix');
    		var idMem = $F('sessionM');
     
    		  var url = './js/ventemarchejoueur_ajax.php';
    		  var myAjax = new Ajax.Request(
    		  url,
    		  {
    			method: 'post',
    			postBody: 'nbvente='+nbvente+'&typevente='+typevente+'&prix='+prix+'&idM='+idMem,
    			onComplete: reponseAjoutVenteJoueur
    		  });
     
    		}
    	}
     
    	function reponseAjoutVenteJoueur(originalRequest, json)
    	{	
    		$('marche_vendre').innerHTML =json.root.data;
    		$('tabnr').innerHTML = json.root.nr ;
    		$('tabbr').innerHTML = json.root.br ;
    		$('tabpr').innerHTML = json.root.pr ;
    		$('tabfr').innerHTML = json.root.fr ;
    		$('tabbs').innerHTML = json.root.bs ;
    		$('tabea').innerHTML = json.root.ea ;
    		$('tabha').innerHTML = json.root.ha ;
    		$('tabor').innerHTML = json.root.or ;
    	}
    Mon formulaire est tout ce qu'il y a de basique :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <input name="prix" type="text" id="prix" value="1.00" size="3" maxlength="4" />
    	<input type="button" value="Vendre" onclick="mettreVenteJoueur()" />
    Et enfin mon fichier de traitement php qui initialise un tableau de donn�e JSON (C'est ici que �a merde ! )
    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
    $datas = array(
    				'root' => array(
    					'data' => '<center><br>'.$res.'<br><br>
    					<a href="#nogo" onclick="retourVenteJoueur()">Vendre d\'autres ressources</a></center>', 
    					'nr' => affBoNb($nourriture),
    					'br' => affBoNb($brique),
    					'ea' => affBoNb($eau),
    					'or' => affBoNb($or),
    					'fr' => affBoNb($fer),
    					'bs' => affBoNb($bois),
    					'pr' => affBoNb($pierre),
    					'ha' => affBoNb($hectare)
    				)
    			);
     
     
    			header("X-JSON: " . json_encode($datas));
    Voila donc en local, j'ai mes champs qui se mettent bien a jour, je r�cup�re les bonnes infos, alosr que sur mon hebergeur 1&1, je ne r�cup�re rien.

    J'ai v�rifi� que 1&1 �tait bien en PHP5.2 pour prendre en charge nativement l'encodage du json, ce qui est le cas.

    Bref je sais plus quoi faire, apr�s des heures pass�es � chercher

    Merci de m'aider :/

    (Test direct possible sur le site... je vous fournirai le lien + le pass pour y accc�der via mp)

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Tu devrais ajouter :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    onSuccess: function(transport) {
        transport.headerJSON;
        reponseAjoutVenteJoueur;
      }
    En effet, Prototype �value le JSON s'il est transmis via responseText, si le JSON est d�fini dans le header, il faut le pr�ciser.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par d�faut
    Alors j'ai effectu� ta modification :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function mettreVenteJoueur()
    	{
    		var nbvente = $F('nbvente');
    		var typevente= $F('typevente');
    		var prix= $F('prix');
    		var idMem = $F('sessionM');
     
    		if(nbvente =="" || typevente =="" || prix== "")
    		{
    			alert('Veuillez remplir tous les champs !');
    		}else if(isNaN(nbvente)||isNaN(prix))
    		{
    			alert('Veuillez saisir des chiffres !');
    		}else if( prix < 0.40 || prix > 1.50 )
    		{
    			alert('Veuillez modifier votre prix !');
    		}else if( nbvente > 100000 )
    		{
    			alert('Vous ne pouvez pas vendre plus de 100000 Unites par lot !');
    		}else{
     
    		  var url = './js/ventemarchejoueur_ajax.php';
    		  var myAjax = new Ajax.Request(
    		  url,
    		  {
    			method: 'post',
    			postBody: 'nbvente='+nbvente+'&typevente='+typevente+'&prix='+prix+'&idM='+idMem,
    			onSuccess: function(transport) {
    				transport.headerJSON;
    				reponseAjoutVenteJoueur;
    			  }
    		  });
     
    		}
     
    	}
    Sauf que... �a marche en local, et toujours pas chez 1&1. Je pr�cise que j'ai du "mapper" via un htacess 1&1 pour forcer le php5, et que j'ai aussi essay� d'inclure le fichier manuellement json.php

    C'est � devenir Zinzin

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    header("X-JSON: " . json_encode($datas));
    Je dis peut-�tre une b�tise, mais il ne faut pas aussi ajouter un HTTP-Accept ?
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par d�faut
    euh jamais entendu ni vu �a...

    c'est quoi ?

  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par d�faut
    Attention, les headers ne sont pas fait pour transporter des donn�es...

    Qu'est-ce qui t'emp�che de plutot faire quelque chose comme ca:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    header("Content-type:application/json");
    json_encode($datas)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var res = xhr.responseJSON;
    cf la doc de prototype

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par d�faut
    alors j'ai essay�, mais je r�cup�re rien depuis mon fichier php avec cette m�thode :

    onComplete: function(transport) {
    var res = transport.responseJSON;
    alert('res'+res);

    }
    Je r�cup�re la valeur "null" dans ma variable res....

    Que dois-je faire?

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par d�faut
    en fait mon code �tait bon, il suffisait de virer la balise fermante de php dans mon fichier de conf ....

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 22/11/2010, 09h18
  2. [POO] Json et r�cup�ration de donn�es sans ajax (iframe ?)
    Par takeda dans le forum G�n�ral JavaScript
    R�ponses: 21
    Dernier message: 05/12/2008, 20h47
  3. [AJAX] R�cup�ration de donn�es
    Par ThinKiT dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 16/06/2008, 12h35
  4. [AJAX] R�cup�ration de donn�es AJAX -> PHP
    Par TheBuzz dans le forum G�n�ral JavaScript
    R�ponses: 14
    Dernier message: 12/06/2008, 18h31
  5. R�cup�ration de donn�e formulaire AJAX vers PHP
    Par Starbug dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 29/10/2007, 18h38

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