Node.js 如何获取POST数据

Node.js 如何获取POST数据

Node.js是一个基于Chrome的V8 JavaScript引擎构建的开源、跨平台的运行环境,用于在浏览器之外执行JavaScript代码。你需要记住,Node.js不是一个框架,也不是一种编程语言。在本文中,我们将讨论如何使用Node.js进行POST请求。

POST是HTTP支持的一种请求方法,用于将数据发送到服务器。在express中,我们可以使用app.post()方法来接受POST请求。使用app.post()方法的基本语法如下所示。

我们可以在app.post()方法的回调函数中通过 req 对象获取发送的数据。我们可以使用下面提到的语法访问作为body发送的数据。

const bodyContent = req.body;

同样,如果我们想要访问头部内容,我们可以使用下面提到的语法。

const headerContent = req.headers;

项目设置:

步骤1: 安装Node.js, 如果你的电脑上没有安装Node.js

步骤2: 为你的项目创建一个文件夹,并在其中创建两个文件,分别命名为app.js和index.html

步骤3: 现在,在命令行上使用以下命令,使用默认配置初始化一个新的Node.js项目。

npm init -y

步骤4: 现在在你的项目中使用以下命令在线命令行中安装express。

npm install express

项目结构: 按照以下步骤后,你的项目结构将如下所示。

Node.js 如何获取POST数据

文件名:app.js

// Importing express module
const express = require('express');
const app = express();
 
app.use(express.json());
 
app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});
 
app.post('/', (req, res) => {
  const { username, password } = req.body;
  const { authorization } = req.headers;
  res.send({
    username,
    password,
    authorization,
  });
});
 
app.listen(3000, () => {
  console.log('Our express server is up on port 3000');
});

文件名:index.html

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8" />
    <title>POST DEMO</title>
</head>
 
<body>
    <form>
        <div>
            <label>Username</label>
            <input type="text" id="user" />
        </div>
        <div>
            <label>Password</label>
            <input type="password" id="pass" />
        </div>
        <button type="submit">Submit</button>
    </form>
 
    <script>
        document.querySelector('button')
            .addEventListener('click', (e) => {
                e.preventDefault();
                const username = document
                    .querySelector('#user').value;
 
                const password = document
                    .querySelector('#pass').value;
                     
                fetch('/', {
                    method: 'POST',
                    headers: {
                        Authorization: 'Bearer abcdxyz',
                        'Content-Type': 'application/json',
                    },
                    body: JSON.stringify({
                        username,
                        password,
                    }),
                })
                    .then((res) => {
                        return res.json();
                    })
                    .then((data) => console.log(data));
            });
    </script>
</body>
 
</html>

在上面的示例中,我们创建了一个express服务器来渲染index.html文件。这个index.html包含一个表单,其中有两个输入框分别是用户名和密码。当我们点击提交按钮时,它会将一个POST请求发送到home路径,请求体中包含用户名和密码,请求头中包含授权令牌。我们在app.post()方法中处理这个POST请求,并将这些详细信息,即用户名、密码和授权令牌,作为响应发送回去。我们稍后将这些详细信息打印到控制台。 运行以下命令来执行app.js文件:

node app.js

输出: 打开浏览器并访问 http://localhost:3000 您将看到以下输出。

Node.js 如何获取POST数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程