res.send 和 app.post 有什么区别?
What’s the difference between res.send and app.post?
我是 express 和 HTTP 的新手。快递库有app.get、app.post和res.send。据我了解,app.get uses/is 与 GET 和 app.post POST 一起使用。 res.send 会打电话给 POST 吗?
那是两个不同的modules/objects..
Express Router 支持服务器侦听和响应的 HTTP 方法 - .get()
、.post()
、.put()
.
通过中间件和处理程序链传递的参数之一是 Response,它有一个 .send()
方法将其响应发送回客户端。 Response对象也可以增强发送JSON等
res.send()
对进入您的 http 服务器的传入 http 请求发送响应。
app.post()
为您的 http 服务器中的特定 URL 和 POST 请求向 Express 注册请求处理程序,以便当您的 Express 服务器收到 POST 请求时在那个 URL,它将调用这个请求处理程序。
这里有一个 res.send()
的例子:
// configure request handler for GET request to /
app.get("/", (req, res) => {
res.send("hi"); // send response to incoming http request
});
这里有一个 app.post()
的例子:
// this middleware reads and parses the body for content-type
// of application/x-www-form-urlencoded
app.use(express.urlencoded({extended: true}));
// configure request handler for POST request to /login
app.post("/login", (req, res) => {
// in a real request handler, this would be some sort of username
// and password comparison in a database and using appropriate crypto
if (req.body.username === "John" && req.body.password === "foobar99") {
res.send("login successful");
} else {
res.status(401).send("Login failed");
}
});
The express library has res.get and res.send. As I understand it, res.get uses / is used with GET.
您可能感到困惑,因为没有 res.get
。也许你的意思是 app.get()
?如果是这样,app.get()
为特定 URL 的 http GET 请求配置请求处理程序。因此,app.get("/books", ...)
可能会显示所有可用书籍的页面。
Does res.send call POST?
没有。 res.send()
发送对 HTTP 请求的响应。
以下是您能想到的步骤。
一个 http 客户端(例如浏览器或任何代码)创建一个 http 请求并将该请求发送到服务器。
该请求将同时包含一个 HTTP 动词,例如 GET、POST、PATCH 等...,并且将包含一个 URL,例如 /login
或 /books
.
请求被发送到的 Web 服务器接收该请求。对于使用 Express 框架的 Web 服务器,Express 服务器会查看其已注册路由的列表(这些路由之前已注册 app.get(...)
、app.post(...)
、app.use(...)
等。 .. 这些本质上是特定路由的侦听器。如果 Express 服务器发现已注册的路由同时匹配 http 请求动词和 URL,则它会调用该路由处理程序并向其传递三个参数 (req, res, next)
.
当调用请求处理程序代码时,它可以检查 req
object 以查看有关传入请求的任何数据,例如确切的 URL,请求中的任何 http headers 等等。它可以使用 res
object 发送响应,例如在响应上设置任何 http headers,设置 content-type,为响应设置 http 状态代码,创建和发送响应的 body 等... res.send()
是发送响应的一种方式。还有其他如res.sendFile()
、res.json()
、res.sendStatus()
等...
调用这些方法之一发送响应后,底层引擎将该 http 响应发送回发送原始 http 请求的客户端,并且 HTTP request/response 被视为完成。
我是 express 和 HTTP 的新手。快递库有app.get、app.post和res.send。据我了解,app.get uses/is 与 GET 和 app.post POST 一起使用。 res.send 会打电话给 POST 吗?
那是两个不同的modules/objects..
Express Router 支持服务器侦听和响应的 HTTP 方法 - .get()
、.post()
、.put()
.
通过中间件和处理程序链传递的参数之一是 Response,它有一个 .send()
方法将其响应发送回客户端。 Response对象也可以增强发送JSON等
res.send()
对进入您的 http 服务器的传入 http 请求发送响应。
app.post()
为您的 http 服务器中的特定 URL 和 POST 请求向 Express 注册请求处理程序,以便当您的 Express 服务器收到 POST 请求时在那个 URL,它将调用这个请求处理程序。
这里有一个 res.send()
的例子:
// configure request handler for GET request to /
app.get("/", (req, res) => {
res.send("hi"); // send response to incoming http request
});
这里有一个 app.post()
的例子:
// this middleware reads and parses the body for content-type
// of application/x-www-form-urlencoded
app.use(express.urlencoded({extended: true}));
// configure request handler for POST request to /login
app.post("/login", (req, res) => {
// in a real request handler, this would be some sort of username
// and password comparison in a database and using appropriate crypto
if (req.body.username === "John" && req.body.password === "foobar99") {
res.send("login successful");
} else {
res.status(401).send("Login failed");
}
});
The express library has res.get and res.send. As I understand it, res.get uses / is used with GET.
您可能感到困惑,因为没有 res.get
。也许你的意思是 app.get()
?如果是这样,app.get()
为特定 URL 的 http GET 请求配置请求处理程序。因此,app.get("/books", ...)
可能会显示所有可用书籍的页面。
Does res.send call POST?
没有。 res.send()
发送对 HTTP 请求的响应。
以下是您能想到的步骤。
一个 http 客户端(例如浏览器或任何代码)创建一个 http 请求并将该请求发送到服务器。
该请求将同时包含一个 HTTP 动词,例如 GET、POST、PATCH 等...,并且将包含一个 URL,例如
/login
或/books
.请求被发送到的 Web 服务器接收该请求。对于使用 Express 框架的 Web 服务器,Express 服务器会查看其已注册路由的列表(这些路由之前已注册
app.get(...)
、app.post(...)
、app.use(...)
等。 .. 这些本质上是特定路由的侦听器。如果 Express 服务器发现已注册的路由同时匹配 http 请求动词和 URL,则它会调用该路由处理程序并向其传递三个参数(req, res, next)
.当调用请求处理程序代码时,它可以检查
req
object 以查看有关传入请求的任何数据,例如确切的 URL,请求中的任何 http headers 等等。它可以使用res
object 发送响应,例如在响应上设置任何 http headers,设置 content-type,为响应设置 http 状态代码,创建和发送响应的 body 等...res.send()
是发送响应的一种方式。还有其他如res.sendFile()
、res.json()
、res.sendStatus()
等...调用这些方法之一发送响应后,底层引擎将该 http 响应发送回发送原始 http 请求的客户端,并且 HTTP request/response 被视为完成。