如何在客户端生成/发送JSON数据

如何在客户端生成/发送JSON数据

JavaScript对象表示法(JSON) 是一种广泛用于在服务器和客户端之间发送和接收数据的格式。在本文中,我们将使用 fetch APINodeJS 服务器发送和接收数据。

JSON的优势:

  • 由于其简单和小巧的语法,它能够以更快的方式执行响应。
  • 它受到各种浏览器的支持。
  • 在服务器端使用JSON进行解析非常快速。
  • 它是传输任何大小数据的最合适格式。这是因为JSON将数据存储在数组中,使得传输更容易。

    为什么使用Fetch API?

  • Fetch API是一种现代方法,允许Web浏览器向服务器发送HTTP请求。

  • 它类似于XMLHttpRequest,但更简单明了。
  • 它利用JavaScript Promises提供更多自定义选项,使Web浏览器可以更灵活地进行服务器请求。

    设置和安装

步骤1: 创建一个名为SendDataToClient的文件夹,并运行以下命令以初始化一个NodeJS应用程序。

npm init -y 

步骤2: 使用以下命令安装所需的npm包。

npm install express body-parser

步骤3: 在你的项目目录中创建index.html和server.js文件。

项目结构: 现在,我们的项目目录将如下所示。

如何在客户端生成/发送JSON数据

前端代码: 结构很简单,有两个输入框:一个用于输入姓名,一个用于输入邮箱。还有一个发送按钮,用于将输入数据发送到服务器,并且有一个空的段落用于显示服务器返回的JSON响应。

index.html

<!DOCTYPE html> 
<html> 
<head> 
<title>Send data to client</title> 
<script> 
    function sendData() { 
        var name = document.getElementById("name").value; 
        var email = document.getElementById("email").value; 
        var result = document.getElementById("result"); 
        
        fetch("/jsondata", { 
          method: "POST", 
          headers: { 
            "Content-Type": "application/json", 
          }, 
          body: JSON.stringify({ name: name, email: email }), 
        }) 
          .then(function (response) { 
            return response.json(); 
          }) 
          .then(function (data) { 
            result.innerHTML = data.msg; 
          }) 
          .catch(function (error) { 
            console.log(error); 
          }); 
    } 
</script> 
</head> 
<body> 
    <h1 style="color: green">GFG</h1> 
    <input type="text" id="name" placeholder="Your name" /> 
    <input type="email" id="email" placeholder="Email" /> 
    <button onclick="sendData()">Send</button> 
    <p id="result" style="color: orange"></p> 
  
</body> 
</html>

后端代码: 使用NodeJS的Express框架构建了服务器,该服务器运行在端口 3000 上。每当用户点击发送按钮时,会向 /jsondata 路由发送一个包含JSON数据的 POST 请求,然后服务器将以JSON形式进行回复。

server.js

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("/jsondata", function (req, res) { 
    res.json({ msg: `Hello {req.body.name}, your email is{req.body.email}` }); 
}); 
  
app.listen(3000, function () { 
    console.log("Server started on port 3000"); 
});

运行应用程序的步骤: 使用以下命令运行应用程序:

node server.js

输出: 前往http://localhost:3000/查看输出屏幕。

如何在客户端生成/发送JSON数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程