[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:
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:
1 2
|
<input id="support" class="mesinputs" onblur="javascript:choixsupport(idElement);"/> |
choix.js
Code:
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:
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.