Page 1 sur 1

Souci avec l'affichage d'un menu

Posté : 08 janv. 2013, 11:13
par harkrisz
Bonjour,
Je suis en train de réaliser un application web, avec un menu. En cliquant sur l'un élément de menu une page jsp qui s'affiche au milieu. Mon souci est que par exemple quand j'affiche ma catalogue+mon panier vide et je clique dans la catalogue par exemple pour ajouter un produit au panier, ma catalogue+mon panier vide disparaissent. Il faut que je clique de nouveau sur l'élément catalogue dans le menu que je puisse voir le produit ajouté. Je pense que ça peut viens de mon code ajax mais je ne sais pas comment corriger, je suis débutant, aidez-moi s'il vous plaît! Ça fait semaine que j'essaie le faire... Merci d'avance!

Mon code:

Code : Tout sélectionner

<script type="text/javascript"> $(document).ready(function(){ $("a.ajax").click(function() { $.ajax({ type:"GET", url:$(this).attr("href"), cache:true, success: function(retour){ $("#content").empty().append(retour); } }); return false; }); }); </script>

Re: Souci avec l'affichage d'un menu

Posté : 08 janv. 2013, 17:59
par Perine
Aurais-tu le site en ligne quelque part parce que comme ça, une analyse est assez difficile à faire.
Par contre, une question. Ton site est dynamique, pourquoi mets-tu en cache les résultats des pages ?

Re: Souci avec l'affichage d'un menu

Posté : 08 janv. 2013, 18:29
par harkrisz
Bonjour,

Malheureusement, le site n'est pas en ligne, mais j'ai fais vite fais un petit exemple, j'espère que quand même tu peux m'aider. Merci d'avance! http://jsfiddle.net/FmbXe/40/

Re: Souci avec l'affichage d'un menu

Posté : 17 janv. 2013, 15:31
par Aureusms
Bonjour,

Je ne suis pas habitué à ta formulation de fonction. je ne vois pas de gestion d'erreur ou de mode de récupération des données.
En AJAX, on récupère les données en XML ou en mode Texte via respectivement responseXML ou responseText.
Si je comprends bien ta fonction, tu cherches lors d'un click sur un lien possédant une classe "ajax" à ajouter en temps que dernier enfants à l'id "content" le contenu retourné par l'AJAX?
Si oui : que te donne :

$.ajax ({
	type:"GET",
	url:$(this).attr("href"),
	complete : function (xhr, result)
	{
		if (result != "success") return;
		var reponse = xhr.responseText;
		if ($(reponse).length > 0)
		{
			$("#content").empty().append(reponse);
		}
	}
});