Je ne comprends pas ça, j'ai ce code:
<html>
<head>
<title>Problema</title>
<script language="javascript" type="text/javascript" src="jquery-1.7.min.js"></script>
</head>
<body>
<script language="javascript">
$.get("hola.html", function(respuestaSolicitud){
alert(respuestaSolicitud);
})
</script>
</body>
</html>
Le fichier hola.html contient uniquement une chaîne "hola hola". L'alerte affiche cette chaîne: [Object XMLDocument], selon un manuel, cela devrait afficher une alerte avec le texte "hola hola".
4 réponses
Je pense que cette page vous aidera: http://api.jquery.com/jQuery.get/
Et en particulier ce paragraphe:
La fonction de rappel de réussite reçoit les données renvoyées, qui seront être un élément racine XML, une chaîne de texte, un fichier JavaScript ou un objet JSON, en fonction du type MIME de la réponse . Il est également passé le texte l'état de la réponse.
Si vous vous attendez à ce que HTML soit renvoyé de la demande AJAX, vous devez le spécifier dans le paramètre datatype
. jQuery est bon pour deviner le type de données retourné, mais peut être confondu entre XML et HTML lorsqu'il ne renvoie qu'une partie d'une page HTML.
$.get(
"hola.html",
function(respuestaSolicitud) {
alert(respuestaSolicitud);
},
dataType: "html"
);
Essaye ça:
$.ajax({
type: "GET",
url: "hola.html",
contentType: "text/plain; charset=utf-8",
success: function(data, textStatus){
alert(data);
},
error: function(data){
alert("error");
}
});
Essayez plutôt getJSON. Cela semble le meilleur pour ce cas.
$.getJSON("test.html", function(json){ alert(json); });
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.