Chaque fois que vous cliquez sur le bouton, le fichier cible a été récupéré, c'est-à-dire "demo.txt" (archivé sur le réseau) mais le contenu du fichier ne s'affiche pas, qu'est-ce qui ne va pas?
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#button").click(function(){ $.ajax({url: "http://localhost/suman_php/JQ_AJAX/demo.txt", type:"GET", success: function(data,status){ alert(status); $("#div1").html(data); }}); }); }); </script> </head> <body> <div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> <button id="button">Click to get Content</button> </body> </html>
3 Réponses :
a) Je vous suggère d'utiliser "méthode" au lieu de "type"
b) définir une fonction "erreur", telle que définie ici: https: //api.jquery .com / jquery.ajax / qui peut vous donner des informations sur les raisons pour lesquelles la requête a échoué.
"a)" ce sont des synonymes / alias et ne fait aucune différence que vous utilisez
Non, la demande réussit. Le fichier a récupéré mais le contenu ne s'affiche pas
"La demande est réussie " - recevez-vous l ' alerte
? Sinon, ajoutez le rappel d'erreur comme suggéré pour voir s'il y a des erreurs - éditez: en fait, ajoutez-le quand même!
a) ils le sont, mais l'utilisation de "type" n'est recommandée que pour les anciennes versions de jQuery. Cela ne concerne pas le problème, il suffit de donner une suggestion.
essayez console.log (data)
pour voir si les données sont correctes, et console.log ($ ("# div1"))
pour voir si votre sélecteur est correct.
Je pense que vous essayez d'afficher le contenu d'un fichier texte dans votre division en cliquant sur le bouton. Vous n'avez pas besoin de la méthode GET sauf si vous essayez d'obtenir des données spécifiques à partir du lien pour les utiliser ailleurs dans le backend, par exemple en PHP. Essayez ceci:
$.ajax({ url: "http://localhost/suman_php/JQ_AJAX/demo.txt", async: false, //to wait for text to load dataType: "text", // jQuery will return the text data from the file success: function( data, status ) { alert(status); $("#div1").html(data); } });
$(document).ready(function(){ $("button").click(function(){ $.get("http://localhost/suman_php/JQ_AJAX/demo.txt", function(data, status){ alert(status); $("#show").html(data); }); }); }); What should be modified in this code to view the file content?
Lorsque vous chargez "text", essayez avec:
$ ("# div1"). Text (data);
sinon votre fichier texte sera analysé au format HTML et ne correspondra peut-être pas à vos attentes (ou peut-être, auquel cas vous devriez le renommer "demo.html")Aussi, changez votre bouton en
(modifier: cela ne fait aucune différence dans le code fourni, mais le ferait si vous aviez un
formulaire code>, donc ça vaut toujours la peine d'être explicite)
Notez que le code que vous avez fourni fonctionne parfaitement - "# div1" est mis à jour correctement lorsque vous copiez votre code dans une nouvelle page et que vous changez l'URL dans un fichier local. Donc, soit votre démo.txt est html (facilement corrigé en utilisant
.text ()
) ou il y a un autre problème dans votre code qui n'est pas montré ici.Peut-être votre serveur, ajoutez
dataType: "text",
après votre lignetype:
pour vous assurer que lesdonnées
reviennent sous forme de texte et qu'aucune tentative étant faite par jquery pour contraindre les données.