Cela devrait être une solution simple, mais quand je suis Google, tout le monde semble manquer cela. Je veux envoyer un message / fichier JSON simple à mon index.html
nœud.js code p> maintenant à l'intérieur de mon code JavaScript, j'ai p> $.ajax({
url: 'http://localhost:3000/',
complete: function(data) {
console.log(data); <---------THIS IS WHERE I WANT THE JSON TO BE I
WANT TO LOG
IT
}
});
5 Réponses :
J'utilise Midassware Express Cors et ne pas expérimenter ce problème. Vous pouvez également définir explicitement certaines options AJAX pour jQuery.ajax: p> Vous pouvez également essayer le succès Code> Option pour jquery.ajax. p> p>
Avez-vous essayé d'utiliser Postman ( Postman.com ) pour voir si la demande fonctionne d'abord? Ensuite, pouvez-vous montrer les outils de développeurs de votre navigateur, c'est l'erreur? Chrome, c'est Ctrl + Maj + i Code >> Network> XHR.
NOOOOOOO qui ne résout pas mon problème
C'est définitivement les étapes correctes pour identifier votre problème. Vous recommande vivement de vérifier Postman pour tester vos points d'extrémité API en dehors du navigateur, puis un test suivant dans le navigateur avec des outils de développement. Sinon, vous utilisez des aveugles.
Il vous suffit de modifier votre code de: à p>
J'ai fait le changement que cela n'a pas fonctionné mais merci
J'ai vérifié le code du serveur Miaplacidus et l'appel d'Ajax fonctionnant bien, mais au cas où j'ai ajouté le format de données type JSON comme ci-dessous.
$.ajax({ url: 'http://localhost:3000/', data: { format: 'json' }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); }, success: function(data) { console.log(data); }, type: 'GET' });
Avoir les deux snippits suivants Mise en œuvre de manière incorrecte me conduit à croire que l'OP ne comprend pas complètement les itinéraires, les routeurs et une application Express.
router.get('/', (req, res) => { res.json({message: 'hello world'}) })
Je serais peut-être manquant quelque chose ici, mais essayez et dans la demande $ .ajax Assurez-vous que c'est une demande d'obtention et l'URL est complète p> $.ajax({
url: 'http://localhost:3000/index.html',
type: 'GET',
complete: function(data) {
console.log(data);
},
});
Je suis confus, utilisez-vous votre route par défaut pour servir votre code HTML et renvoyer les données JSON à Ajax? Pourquoi ne pas les séparer.
Eh bien, je ne vois aucun problème avec votre code, ne rien obtenir dans le journal? En outre, si vous retirez votre envoi
@SpeedOfround Désolé pour la confusion. Mais ce que je veux faire, c'est envoyer le json à mon ajax, afin que je puisse consoler.log ça
@Sunillama je ne peux pas consoler.log the json
@MaTQuine, je viens de courir votre code et c'est me donner le journal ...
@ MattQuaïne Je ne suis pas sûr que cela soit lié à votre problème actuel, mais que vous avez la route renvoyée à la fois un fichier HTML et une réponse JSON n'est pas intuitive et je vous recommanderais de les diviser en deux itinéraires différents.
@Sunillama Lorsque vous cliquez sur Inspecter dans Google, Chrome, vous voyez la sortie?
@Mattature, oui je peux ..
@Sunillama C'est super étrange, regarde ma version éditée de la question, pouvez-vous toujours obtenir le journal?
@MaTQuine, maintenant ce n'est pas bon, vous ne pouvez pas avoir
/index.html code> comme point d'itinéraire
@Sunillama s'il vous plaît dites-moi comment je peux me connecter res.json ({Message: 'Hello World'}); en HTML
@Matt Quatquaine, quel que soit le code que vous avez eu avant de l'exécuter en premier, puis allez au navigateur et appuyez sur
localhost: 3000 / code>, qu'est-ce que vous obtenez
@Sunillama cet objet que vous avez pu me connecter était un objet imbriqué, mais il n'a pas eu les données, comment mettre cela à Json
Laissez-nous Continuez cette discussion en chat .
@SpeedOfround Comment faire ça?