es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Node Express. ¿Hay alguna forma de enviar datos más complejos al lado del servidor con un formulario?

¿Existe alguna manera de enviar más información al lado del servidor (por ejemplo, un objeto)?

Al crear un formulario y agregar un campo de entrada:

<form action="/home" method="POST">
    <input name="title">
    <input name="content">
</form>

obtenemos:

{
    "title": "a",
    "content": "something"
}

¿Existe alguna manera de hacer algo como esto?:

{
    "title": "a",
    "content": {
        "something": "f"
    }
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible enviar datos más complejos como objetos al lado del servidor utilizando una técnica llamada “datos JSON (JavaScript Object Notation)”. Podemos crear un objeto JSON en el lado del cliente y enviarlo al servidor usando AJAX. Aquí hay un ejemplo utilizando jQuery:

    $.ajax({
      type: 'POST',
      url: '/home',
      data: {
        title: 'a',
        content: { something: 'f' }
      },
      success: function(response) {
        console.log(response);
      },
      error: function(xhr) {
        console.log(xhr.statusText);
      }
    });
    

    En el lado del servidor, podemos analizar los datos JSON y acceder a sus propiedades utilizando JavaScript:

    app.post('/home', function(req, res) {
      var title = req.body.title;
      var content = req.body.content;
    
      console.log(title); // imprime 'a'
      console.log(content.something); // imprime 'f'
    
      // manejar la solicitud y enviar una respuesta
    });
    

    Ten en cuenta que necesitamos incluir un middleware de análisis de cuerpo como express.json() o express.urlencoded() para analizar los datos JSON enviados por el cliente.

Comments are closed.