¿Cómo recibir datos JSON en el lado del cliente?

Para enviar y recibir datos hacia o desde el servidor se utiliza el formato JSON . JSON son las siglas de Javascript Object Notation y es un formato muy utilizado en la actualidad por sus ventajas y sencillez. En este artículo, usaremos XML HttpRequest para recibir datos del servidor y usaremos NodeJS como backend para enviar datos JSON.

Ejemplo: El siguiente ejemplo demostrará este enfoque.

Porción de interfaz: el código HTML consta de un formulario que tiene dos entradas (nombre y correo electrónico), un botón de envío para enviar datos al servidor y una etiqueta de párrafo vacía para mostrar la respuesta del servidor. Se debe utilizar una string para enviar datos a un servidor web. Como consecuencia, cambiamos los datos a una string y los enviamos al servidor a través de una solicitud XHR usando la función JSON.stringify() .

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h1 style="color: green">Welcome to GFG</h1>
    <input type="text" id="name"
           placeholder="Your name" />
    <input type="email" id="email"
           placeholder="Email" />
    <button onclick="sendJSONdata()">Send</button>
    <p id="result" style="color: blue"></p>
  
    <script>
        function sendJSONdata() {
            var name = 
                document.getElementById("name").value;
            var email = 
                document.getElementById("email").value;
            var result = 
                document.getElementById("result");
  
            // Creating a XHR object
            var xhr = new XMLHttpRequest();
  
            // open a connection
            xhr.open("POST", "/userdata");
  
            // Set the request header
            xhr.setRequestHeader(
              "Content-Type", "application/json"
            );
  
            // Converting JSON data to string
            var data = JSON.stringify(
              { name: name, email: email }
            );
            xhr.send(data);
  
            // Create a state change callback
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 &&
                    xhr.status === 200) {
                    // Print received data from server
                    result.innerHTML = this.responseText;
                }
            };
        }
    </script>
</body>
  
</html>

Porción de back-end: hemos utilizado el marco expreso de NodeJS para crear el servidor que se ejecuta en el puerto 3000.

Javascript

const express = require("express");
const bodyParser = require("body-parser");
  
const app = express();
  
app.use(express.json());
  
app.get("/", function (req, res) {
    res.sendFile(__dirname + "/index.html");
});
  
app.post("/userdata", function (req, res) {
    res.send(
        `Hello ${req.body.name}, your email is ${req.body.email}`
    );
});
  
app.listen(3000, function () {
    console.log("Server started on port 3000");
});

Producción:

Publicación traducida automáticamente

Artículo escrito por vishalkumar98765432 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *