Domanda

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

Il primo popup è tutto l'HTML buono e sano.

Il secondo popup è vuoto. Perché? (l'HTML è conforme XHTML)

È stato utile?

Soluzione

Dalla documentazione :

  

La stringa HTML non può contenere   elementi non validi all'interno di a   div, come html, head, body o   elementi del titolo.

Se stai recuperando un documento HTML completo, avrai molti elementi che potrebbero non apparire in un div.

Altri suggerimenti

Perché restituirà una stringa con tutto l'HTML. data non è un oggetto jQuery.

L'ho provato sul mio PC. Si ottiene quanto segue:

"

<!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

Questo non analizzerà un oggetto jQuery. È necessario trovarsi su una pagina di script sul lato server che genererà esplicitamente HTML.

Suppongo che se hai davvero bisogno di un elemento in HTML, puoi rimuoverlo dal testo usando i metodi stringa incorporati.

Cambia il tuo codice in qualcosa del genere

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

L'html nei dati verrà inserito nel tag div

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top