2010-04-26 4 views
0

Une fois que j'ai récupéré une chaîne HTML avec la fonction $ .ajax je l'ai mis dans un div ... le HTML est un message simple avec une balise <b>, mais ce n'est pas interprété par le navigateur, je veux dire, le <b> ne rend pas le texte en gras.HTML n'est pas interprété après la fonction .ajax de JQuery

Voici ce que je fais:

$.ajax({ 
    url: 'index.php?ajax=ejecutar_configuracion&id_gadget=cubrimientos', 
    cache: false, 
    success: function(html){ 
     // html = '<b>hello</b> newton' 
     $('#config_reporte').html(html).dialog({ 
      height: 300, 
      width: 500, 
      modal: true 
     }); 
    } 
}); 

Comme vous pouvez le voir, j'écris le contenu du HTML résultat dans une fenêtre de dialogue modale.

Est-ce que quelqu'un sait pourquoi cela se produit-il? Cela devrait être quelque chose de facile à faire ... mais je n'ai pas réussi à le faire fonctionner correctement.

Merci beaucoup.

+0

Si vous mettez une alerte javascript dans votre fonction de réussite et que vous produisez la valeur de votre variable html, le code HTML vous semble-t-il correct? (c'est-à-dire, est-il codé, etc) – jaltiere

Répondre

0

Eh bien ... Je n'ai pas réussi à le faire fonctionner correctement avec juste du HTML. J'ai dû changer le HTML pur, et utiliser le CSS. Donc, je n'utilise pas <b> mais <span style="font-weight: bolder;"> et ça marche bien.

Merci d'avoir lu!

0

Je voudrais essayer d'ajouter dataType: "html"to your option s, cette instruction peut faire un nombre sur la logique de devinification intelligente que jQuery utilise pour déterminer le type de retour. La version complète:

$.ajax({ 
    url: 'index.php?ajax=ejecutar_configuracion&id_gadget=cubrimientos', 
    cache: false, 
    dataType: "html", 
    success: function(html){ 
     // html = '<b>hello</b> newton' 
     $('#config_reporte').html(html).dialog({ 
      height: 300, 
      width: 500, 
      modal: true 
     }); 
    } 
}); 

Assurez-vous également que <b> n'est pas codé à la source, où il est en fait le retour &lt;b&gt; dans votre chaîne au lieu de <b>.

+0

Merci pour votre réponse ... malheureusement, cela n'a pas fonctionné non plus ... – Cristian

0

Vous pouvez également essayer de définir votre code HTML en tant que variable, puis appeler la variable dans le champ type de données.

dataToLoad: "&lt;b&gt; hello &lt;b&gt; newton"; 

$.ajax({ 
url: 'index.php?ajax=ejecutar_configuracion&id_gadget=cubrimientos', 
cache: false, 
datatype: dataToLoad, 
success: function(html){ 
    // html = '<b>hello</b> newton' 
    $('#config_reporte').html(html).dialog({ 
     height: 300, 
     width: 500, 
     modal: true 
}); 
}}); 
+0

Merci pour votre réponse ... malheureusement, cela n'a pas fonctionné non plus ... – Cristian

Questions connexes