response对象包含以下9个方法,response对象的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。
方法 描述
res.download() 提示下载文件。
res.end() 终结响应处理流程。
res.json() 发送一个 JSON 格式的响应。
res.jsonp() 发送一个支持 JSONP 的 JSON 格式的响应。
res.redirect() 重定向请求。
res.render() 渲染视图模板。
res.send() 发送各种类型的响应。
res.sendFile() 以八位字节流的形式发送文件。
res.sendStatus() 设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。
1、response.download方法
//下载路径为'/report-12345.pdf'的文件
res.download('/report-12345.pdf');
//下载路径为'/report-12345.pdf'的文件,并将文件命名为 'report.pdf'
res.download('/report-12345.pdf', 'report.pdf');
//下载路径为'/report-12345.pdf'的文件,将文件命名为 'report.pdf',并且回调
res.download('/report-12345.pdf', 'report.pdf', function(err){
if (err) {
} else {
}
});
2、response.end方法
//终结响应处理流程
res.end();
//设置响应码为404,并终结响应处理流程
res.status(404).end();
3、response.json方法
res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })
4、response.jsonp方法
res.jsonp(null)
res.jsonp({ user: 'tobi' })
res.status(500).jsonp({ error: 'message' })
5、response.redirect方法
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
res.redirect('../login');
6、response.render方法
res.render('index');
res.render('index', function(err, html) {
res.send(html);
});
res.render('user', { name: 'Tobi' }, function(err, html) {
// ...
});
7、response.send方法
res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.status(404).send('Sorry, we cannot find that!');
res.status(500).send({ error: 'something blew up' });
8、response.sendFile方法
response.sendFile("/path/to/anime.mp4");
9、response.sendStatus方法
res.sendStatus(200); // 'OK'
res.sendStatus(403); // 'Forbidden'
res.sendStatus(404); // 'Not Found'
res.sendStatus(500); // 'Internal Server Error'