Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
gorn
#
Citer
82 Posts
Bonjour,

Voilà j'ai un petit soucis et j'aimerai comprendre où je fais une erreur.

En gros lors d'un clic sur un lien j'insère du contenu dans une div.

Ce contenu contient d'autres liens qui sont censés à leur tour insérer du contenu dans une autre div.

Mais si je copie/colle ces liens sur la page html (où il y a le premier lien), pas de soucis. Par contre quand ils sont apparus dans la div (lors du clic sur le premier lien), et bien là rien ne se passe.

j'insère ainsi car je vais chercher des données dans un JSON, l'importation se faire sans problème, c'est juste les comportement des liens générés qui ne marchent pas.

//**************Load JSon
	function loadJSON(fname,a) 
	{
		var xhr=createXHR();
		xhr.open("GET", fname,true);
		xhr.onreadystatechange=function() 
		{
			if (xhr.readyState == 4) 
			{
				if (xhr.status != 404) 
				{
					//If AllBags
					if(a == "#allBags") {
						var data=eval("(" + xhr.responseText + ")");
						var temp = '';
						mod = data.length%5; if(mod==0) { mod=5; }
						for (var i=0 ; i < data.length ; i++)
						{
							if((i+1)%5==0 && i!=0 && i!=data.length-1) { temp += "<div class='rightBag'><a class='pop' data='product-" + data.id + "' href='#product'><img src='img/essai-sac1.jpg' width='130' height='130' alt='" + data[i].long_description + "'/></a></div>"; }
							else if((i+1)>(data.length-mod) && i!=data.length-1) { temp += "<div class='bottomBag'><a class='pop' data='product-" + data[i].id + "' href='#product'><img src='img/essai-sac1.jpg' width='130' height='130' alt='" + data[i].long_description + "'/></a></div>"; }
							else if(i==data.length-1) { temp += "<div class='bottomBag rightBag'><a class='pop' data='product-" + data[i].id + "' href='#product'><img src='img/essai-sac1.jpg' width='130' height='130' alt='" + data[i].long_description + "'/></a></div>"; }
							else { temp += "<div><a class='pop' data='product-" + data[i].id + "' href='#product'><img src='img/essai-sac1.jpg' width='130' height='130' alt='" + data[i].long_description + "'/></a></div>"; }
							temp += "<div class='popin' id='product'><span class='close'>Close</span><div class='content'></div></div>";
						}
						$j("#allBags .content").html(temp);
					}
				} 
				else 
				{
					if(a == "#allBags") {
						$j("#allBags .content").html(fname + " not found");
					}
				}
			}
		}
		xhr.send(null);
	}
[/i][/i][/i][/i][/i][/i][/i]

^
gorn
#
Citer
82 Posts
je me suis servi de .live() et ça a arranger le problème.

^
rs459
#
Citer
241 Posts
Salut,

Attention à eval !!

https://www.owasp.org/index.php/OWASP_AJAX_Security_Guidelines

XSS via eval dans ton script.
Modifié par rs459 (03 Feb 2012 - 17:30)

http://cherche.job.59.free.fr 
^
gorn
#
Citer
82 Posts
rs459 a écrit :
Salut,

Attention à eval !!

https://www.owasp.org/index.php/OWASP_AJAX_Security_Guidelines

XSS via eval dans ton script.


ouais mais s'il n'y a pas de bases de données et aucune information confidentiel sur le fichier json, c'est tout de même risqué ?

^
rs459
#
Citer
241 Posts
Si tu fais entièrement confiance à ton fichier JSON, mais l'utilisation de Json.parse() est plus sécurisé, les anciens navigateurs nécessitent une bibliothèque tierce

(http://code.google.com/p/json-sans-eval/)

http://cherche.job.59.free.fr 
^