Soy completamente nuevo en node.js y express. Hice algunos cálculos con javascript en la página de mi cliente y quiero enviar esa matriz de números generada a mi aplicación de servidor node.js. Cuando tuve que enviar datos de formulario, simplemente usé la acción del formulario para mi ruta. Ahora estoy totalmente perdido y no sé por dónde empezar. ¿Qué código debo escribir en mi ruta y cómo pasarle la variable o matriz js desde mi aplicación cliente?
para enviar una matriz de datos a la aplicación Express que se ejecuta en su servidor, la forma más sencilla es enviarla como un objeto JSON. Un ejemplo simple usando jQuery se muestra a continuación:
Codigo del cliente:
var your_calculated_array = []; // Set your calculated array here $.ajax({ type: 'POST', url: 'YOUR_EXPRESS_ENDPOINT', data: { your_data: your_calculated_data }, dataType: 'json', success: function (data) { // Handle the response here } });Código del lado del servidor (usando middleware de analizador de cuerpo para analizar el cuerpo json):
..... var bodyParser = require('body-parser') app.use( bodyParser.json() ); app.post(YOUR_EXPRESS_ENDPOINT, function(req, res) { var calculated_data = req.body.your_data // ... }) .....Ejemplo sencillo
aplicación.js
var express = require('express') var app = express() app.set('view engine', 'pug') app.get('/', function (req, res) { res.render('index') }) app.post('/example_route', function (req, res) { res.send({'msg': 'Hello World!'}) }) app.listen(3000, function () { console.log('Example app listening on port 3000!') })vistas/index.pug
doctype html html head title= 'HomePage' script(src='https://code.jquery.com/jquery-3.2.1.min.js') body button(onclick='$.post("http://localhost:3000/example_route", function(data) {alert(data.msg);})') Click me!Esta página de inicio incluye jquery de cdn y el evento onclick realiza una solicitud POST a su servidor.