Question

jQuery.get(window.location.href, function(data) {
  alert(data);
  alert($(data).html());
});

Le premier popup contient tout le code HTML bon et sain.

La deuxième fenêtre est vide. Pourquoi? (le code HTML est compatible XHTML)

Était-ce utile?

La solution

De la documentation :

  

La chaîne HTML ne peut pas contenir   éléments non valides dans un   div, tel que html, tête, corps ou   éléments de titre.

Si vous récupérez un document HTML complet, vous aurez beaucoup d'éléments qui peuvent ne pas apparaître dans un div.

Autres conseils

Parce qu'il retournera une chaîne avec tout le code HTML. data n'est pas un objet jQuery.

J'ai essayé ceci sur mon PC. Vous récupérez ce qui suit:

"

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>

</title><link href="App_Themes/selectors.css" rel="stylesheet" type="text/css" /></head>................etc

Ceci ne sera pas analysé dans un objet jQuery. Vous devez être sur une page de script côté serveur qui générera explicitement le code HTML.

Je suppose que si vous avez réellement besoin d'un élément HTML, vous pouvez le supprimer du texte à l'aide des méthodes de chaîne intégrées.

Remplacez le code par quelque chose comme ceci

$('#yourContainingDiv').html(data);

Le code HTML dans les données sera placé dans la balise div

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top