Souci avec l'affichage d'un menu

Petit nouveau ! | 2 Messages

08 janv. 2013, 11:13

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>

Eléphant du PHP | 120 Messages

08 janv. 2013, 17:59

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 ?

Petit nouveau ! | 2 Messages

08 janv. 2013, 18:29

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/

ViPHP
ViPHP | 1996 Messages

17 janv. 2013, 15:31

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);
		}
	}
});
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr