2010-09-09 4 views
0
<script type="text/javascript">  
$.get("url",function(data){ 
    $('#div').html(data); 
}); 
</script> 

après avoir utilisé cette fonction data rendement ci-dessous:méthode jquery get renvoie des données html avec méthode jquery get

<div id="info"></div> 
<script type="text/javascript"> 
$.get("urlanother",function(data){ 
$('#info').html(data); 
}); 
</script> 

Mon problème est la deuxième opération get fonctionne pas.

Comment le faire?

+0

Cela peut provoquer des problèmes si vous les appelez plusieurs fois: les ID doivent être uniques dans un document. –

+0

Oui. L'ID est unique – ebattulga

Répondre

0

Réglage jQuery html() ou JavaScript innerHTML à une chaîne avec <script> en ne provoque pas le script à exécuter. Le script peut être exécuté plus tard si vous essayez de manipuler l'objet DOM qui le représente, mais cela est hautement incohérent entre les navigateurs et le comportement est le mieux évité. jQuery tente de gérer les scripts ed load() de manière cohérente, mais échoue.

Donc, évitez d'insérer <script> dans le document. Au lieu de cela, garder votre code JavaScript dans les scripts statiques chargés par le document principal, et le feu plus tard contenu-chargé-From- get code en utilisant les callbacks jQuery vous donne à vous laisser savoir quand ils sont faits:

$('#div').load('url', function(){ 
    $('#info').load('urlanother'); 
}); 
+0

Ma variable 'data' peut ne pas retourner le script. Parfois, le script de retour renvoie parfois uniquement des données html. – ebattulga

+0

Ensuite, vous devrez renvoyer un objet JSON contenant à la fois un extrait de code HTML à ajouter au document et une chaîne JavaScript distincte à 'eval()'. Bien que toujours, c'est généralement une mauvaise pratique de créer et d'exécuter un nouveau code à la volée comme ça. C'est beaucoup plus stable et maintenable pour garder votre code statique. – bobince