/ / ¿Cómo configuro una ruta para una respuesta json en express? - javascript, json, angularjs, node.js, express

¿Cómo configuro una ruta para una respuesta JSON en Express? - javascript, json, angularjs, node.js, express

Estoy tratando de seguir este tutorial angular Para el manejo de envíos de formularios con promesas. Estoy ejecutando mi servidor en el nodo y estoy usando Express para manejar las rutas. Cuando se envía el formulario y llego a la línea

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

Mi aplicación responde intentando encontrar una ruta.para response.json y luego redirige a una página 404. Luego recibo un error de sintaxis No capturado porque está intentando analizar mi plantilla de jade como la respuesta.json.

¿Es la mejor manera de resolver esto para definir una ruta para la respuesta json? ¿O hay algo más que me falta?

Respuestas

1 para la respuesta № 1

El envío de datos JSON a su servidor es solo una cosa normalsolicitar en una ruta particular con los datos enviados como JSON. Si la solicitud es un GET, entonces los datos están codificados en URL. Si la solicitud es un POST, los datos se envían codificados en el cuerpo. En cualquier caso, el módulo de análisis de cuerpo lo analizará por usted.

Aquí hay un ejemplo simple para una solicitud de obtención para "/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);

Hay varias formas diferentes de usar el módulo de body-parser. Puedes ver varios otros ejemplos aquí: ¿Cómo consumo los datos JSON POST en una aplicación Express?.


Y, el código del cliente sería:

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