Success: données impossible à récupérer
Bonjour,
Je debute en ajax et j ai recuperé un tutto de panier pour une eventuelle boutique , j ai adapté le code mais je n arrive pas a mettre a jour en direct le total a payé et le compteur :
dans un formulaire ou j ai la taille,le nombre et l id du produit des que je valide addpanier.php j ai app.js qui devrait me retourner les bons elements mais j arrive pas a avoir la data.
le code addpanier.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $json = array('error' => true);
if(isset($_GET['id'])){
$product = $DB->query('SELECT ID FROM BOUTIQUE_PRODUIT WHERE ID=:id',array('id'=>$_GET['id']));
if(empty($product)){
$json['message'] = "Ce produit n'existe pas";
}else{
$panier->add($product[0]->ID,$_GET['qty'],$_GET['size']);
$json['error'] = false;
$json['total'] = number_format($panier->total(),2,',',' ');
$json['count'] = $panier->count();
$json['message'] = 'AJOUT OK';
}
}else{
$json['message'] = "Vous n'avez pas sélectionné de produit à ajouter au panier";
}
echo json_encode($json); |
le code app.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 25 26 27 28 29 30 31 32 33
| $(document).ready(function() {
// lorsque je soumets le formulaire
$('#ajoutpanier').on('submit', function() {
// je récupère les valeurs
var id = $('#id').val();
// je vérifie une première fois pour ne pas lancer la requête HTTP
// si je sais que mon PHP renverra une erreur
if(id == '') {
alert('Les champs doivent êtres remplis');
} else {
// appel Ajax
$.ajax({
url: $(this).attr('action'), // le nom du fichier indiqué dans le formulaire
type: $(this).attr('method'), // la méthode indiquée dans le formulaire (get ou post)
data: $(this).serialize(),
// je sérialise les données (voir plus loin), ici les $_POST
success: function(data) { // je récupère la réponse du fichier PHP
// j'affiche cette réponse
$('#total').empty().append(data.total);
$('#count').empty().append(data.count);
$('#success').css("display","block");
$('#success').fadeIn(500).delay(3000).fadeOut(500);
}
});
}
return false; // j'empêche le navigateur de soumettre lui-même le formulaire
});
}); |
si vous avez une idee ca serait sympa , merci
cdt