HTTP POST 请求如何在 Node.js 中工作?
POST 是万维网使用的 HTTP 支持的请求方法。 HTTP POST 方法将数据发送到服务器。请求正文的类型由 Content-Type 标头指示。我们使用 Express.js 来创建服务器并发出请求(GET、POST 等)。
npm i express
注意:上述命令中的npm代表节点包管理器,这是我们安装所有依赖项的地方。
因此,为了使用 Express 来处理我们服务器上的 POST 请求,我们使用 app.post 方法,然后我们指定路由,并且我们有一个回调。
app.post(route, function(req, res){
//this is a callback function
})
注意:如果要在 NodeJS 中频繁发出 GET、POST 请求,那么使用 Postman ,简化构建 API 的每一步。
在这种语法中,路由是您必须发布从 HTML 获取的数据的地方。要获取数据,您可以使用bodyparser包。
Web 服务器:在根文件夹中创建 app.js。如下例所示创建您的服务器。
javascript
const express = require("express");
const app = express();
// Define routes here ...
app.listen(3000, function(){
console.log("server is running on port 3000");
})
html
Calculator
Simple Calculator.
javascript
const express = require("express");
const bodyParser = require("body-parser")
// New app using express module
const app = express();
app.use(bodyParser.urlencoded({
extended:true
}));
app.get("/", function(req, res) {
res.sendFile(__dirname + "/index.html");
});
app.post("/", function(req, res) {
var num1 = Number(req.body.num1);
var num2 = Number(req.body.num2);
var result = num1 + num2 ;
res.send("Addition - " + result);
});
app.listen(3000, function(){
console.log("server is running on port 3000");
})
处理 Post 请求:在这里您将学习如何处理 HTTP POST 请求并从提交的表单中获取数据。
在应用程序的根文件夹中创建 index.html 并在其中编写以下 HTML 代码。
文件名:index.html
html
Calculator
Simple Calculator.
输出:
在 Express.js 中处理 POST 路由:
文件名:app.js
javascript
const express = require("express");
const bodyParser = require("body-parser")
// New app using express module
const app = express();
app.use(bodyParser.urlencoded({
extended:true
}));
app.get("/", function(req, res) {
res.sendFile(__dirname + "/index.html");
});
app.post("/", function(req, res) {
var num1 = Number(req.body.num1);
var num2 = Number(req.body.num2);
var result = num1 + num2 ;
res.send("Addition - " + result);
});
app.listen(3000, function(){
console.log("server is running on port 3000");
})
运行步骤:
- npm 初始化
- npm 安装快递
- npm 安装正文解析器
- 节点应用程序.js
- 在浏览器中访问 http://localhost:3000。
输出: