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 php : 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
$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 : 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
$(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