/ / Comment définir un itinéraire pour une réponse JSON dans Express? - javascript, json, angularjs, node.js, express

Comment définir un itinéraire pour une réponse JSON dans Express? - javascript, json, angularjs, node.js, express

J'essaye de suivre ce tutoriel angulaire pour traiter les soumissions de formulaire avec des promesses. J'exécute mon serveur sur le noeud et j'utilise Express pour gérer les itinéraires. Lorsque le formulaire est soumis et que je parviens à la ligne.

var $promise = $http.jsonp("response.json", config)

Mon application répond en essayant de trouver un itinérairepour response.json, puis redirige vers une page 404. Je reçois alors une erreur de syntaxe Uncaught parce qu’il essaie d’analyser mon modèle de jade en tant que response.json.

Le meilleur moyen de résoudre ce problème est-il de définir un itinéraire pour la réponse JSON? Ou y a-t-il autre chose qui me manque?

Réponses:

1 pour la réponse № 1

L'envoi de données JSON sur votre serveur est tout à fait normalrequête sur un chemin particulier avec les données envoyées en JSON. Si la demande est une requête GET, les données sont codées en URL. Si la demande est un POST, les données sont alors codées dans le corps. Dans les deux cas, le module analyseur de corps le analysera pour vous.

Voici un exemple simple pour une requête get à "/response.json":

var express = require("express");
var app = express();
var bodyParser = require("body-parser");

app.get("/response.json", bodyParser.json(), function (req, res) {
if (!req.body) return res.sendStatus(400);
// req.body is the parsed JSON that was sent with this request
// process it here
});

app.listen(80);

Il existe différentes manières d'utiliser le module analyseur de corps. Vous pouvez voir plusieurs autres exemples ici: Comment utiliser les données JSON POST dans une application Express.


Et, le code client serait:

var $promise = $http.jsonp("/response.json", config)