问题描述
req
是一个对象,包含有关引发事件的 HTTP 请求的信息。作为对 的响应req
,您使用res
发送回所需的 HTTP 响应。
这些参数可以任意命名。如果更清楚,您可以将该代码更改为此:
app.get('/user/:id', function(request, response){
response.send('user ' + request.params.id);
});
编辑:
假设你有这个方法:
app.get('/people.json', function(request, response) { });
-
request.url
,这将"/people.json"
是触发此特定操作的时间 -
request.method
,在这种情况下将是"GET"
,因此app.get()
调用。 - 中的 HTTP 标头数组
request.headers
,包含诸如 之类的项request.headers.accept
,您可以使用它们来确定发出请求的浏览器类型、它可以处理的响应类型、它是否能够理解 HTTP 压缩等。 - 查询字符串参数的数组(如果有)
request.query
(例如/people.json?foo=bar
,将导致request.query.foo
包含字符串"bar"
)。
要响应该请求,您可以使用响应对象来构建您的响应。扩展people.json
示例:
app.get('/people.json', function(request, response) {
// We want to set the content-type header so that the browser understands
// the content of the response.
response.contentType('application/json');
// normally, the data is fetched from a database, but we can cheat:
var people = [
{ name: 'Dave', location: 'Atlanta' },
{ name: 'Santa Claus', location: 'north Pole' },
{ name: 'Man in the Moon', location: 'The Moon' }
];
// Since the request is for a JSON representation of the people, we
// should JSON serialize them. The built-in JSON.stringify() function
// does that.
var peopleJSON = JSON.stringify(people);
// Now, we can use the response object's send method to push that string
// of people JSON back to the browser in response to this request:
response.send(peopleJSON);
});
解决方法
在以下 Express 函数中:
app.get('/user/:id',function(req,res){
res.send('user' + req.params.id);
});
req
和是什么res
?它们代表什么,它们的含义是什么,它们是做什么的?
谢谢!