var express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/index.htm', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
})
app.get('/process_get', function (req, res) {
// Prepare output in JSON format
response = {
first_name:req.query.first_name,
last_name:req.query.last_name
};
console.log(response);
res.end(JSON.stringify(response));
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
1)我从教程的角度获得了该教程
2)我认为/ process_get中的req将为空,但是在这里req拥有了我所有的数据
3)我在想这些功能的范围仅限于该功能 但是如何访问上一个函数的值
4)如果代码中有多个req对象,我们将如何处理
答案 0 :(得分:0)
req
是一个对象,代表对服务器的请求。这是服务器接收到请求后将调用的回调参数。您可以将其视为app.get到路由/ process_get的结果。 res
的工作方式相同,但是它代表服务器发送的响应。 res.end()
是将响应有效载荷发送回请求者的地方。
req和res都仅存在于回调函数的范围内。这就是为什么路由/index.htm
和/process_get
的回调中都存在req和res的原因。
希望这使它更清晰。
答案 1 :(得分:0)
Express.js将在处理请求时将其作为中间件堆栈的一部分进行调用,并赋予它 req , res 和 next 争论。