nodejs中express response有哪些常用方法?
2025-05-10 16:56
nodejs
10
0
0
0
标题录入
封面图
在 Node.js 中,使用 Express 框架时,`response` 对象提供了许多方法来处理 HTTP 响应。这些方法用于向客户端发送各种类型的数据、设置响应头、重定向等操作。以下是一些常用的 `response` 方法: ### 1. **发送文本** - `res.send(data)` 发送数据到客户端,可以是字符串、对象(JSON)、Buffer 等。 ```javascript res.send('Hello World'); res.send({ name: 'John', age: 30 }); ``` - `res.json(data)` 发送 JSON 格式的数据。 ```javascript res.json({ message: 'Success' }); ``` - `res.jsonp(data)` 发送 JSONP 格式的数据,通常用于跨域请求。 ```javascript res.jsonp({ message: 'Success' }); ``` ### 2. **设置状态码** - `res.sendStatus(statusCode)` 设置状态码并自动发送相应的状态文本。 ```javascript res.sendStatus(200); // 等价于 res.status(200).send('OK') res.sendStatus(404); // 等价于 res.status(404).send('Not Found') ``` - `res.status(code)` 设置 HTTP 状态码。 ```javascript res.status(500).send('Internal Server Error'); ``` ### 3. **设置响应头** - `res.set(field, [value])` 设置响应头。 ```javascript res.set('Content-Type', 'text/html'); res.set('X-Custom-Header', 'Custom Value'); ``` - `res.header(field, [value])` 同样用于设置响应头。 ```javascript res.header('Access-Control-Allow-Origin', '*'); ``` ### 4. **文件和流** - `res.download(path[, filename][, options][, callback])` 提示浏览器下载文件。 ```javascript res.download('/path/to/file.pdf', 'downloaded.pdf'); ``` - `res.sendFile(path[, options][, callback])` 发送文件作为响应。 ```javascript res.sendFile('/path/to/file.html'); ``` - `res.stream(stream)` 将流作为响应发送。 ```javascript const fs = require('fs'); const fileStream = fs.createReadStream('file.txt'); res.stream(fileStream); ``` ### 5. **重定向** - `res.redirect(url)` 重定向到指定的 URL。 ```javascript res.redirect('/new-path'); res.redirect(301, 'https://example.com'); // 使用指定的状态码 ``` ### 6. **结束响应** - `res.end([data][, encoding])` 结束响应过程。 ```javascript res.end('Response has ended'); ``` - `res.end()` 不带参数调用时,表示响应已结束。 ### 7. **设置缓存** - `res.cacheControl(options)` 设置缓存控制头。 ```javascript res.cacheControl({ maxAge: 3600 }); ``` - `res.vary(field)` 添加 Vary 头字段。 ```javascript res.vary('Accept-Language'); ``` ### 8. **其他** - `res.render(view[, locals][, callback])` 渲染模板并发送响应。 ```javascript res.render('index', { title: 'Express' }); ``` - `res.clearCookie(name[, options])` 删除一个 cookie。 ```javascript res.clearCookie('sessionId'); ``` - `res.cookie(name, value[, options])` 设置一个 cookie。 ```javascript res.cookie('sessionId', '1234567890abcdef', { maxAge: 900000, httpOnly: true }); ``` 这些方法是 Express 框架中最常用的 `response` 方法,能够满足大部分 Web 应用的需求。根据具体业务场景,可以选择合适的方法来处理 HTTP 响应。
上一篇:
nodejs通过哪些方法可以进行异步流程的控制?
标题录入,一次不能超过6条
勇气是什么?个人勇气如何掌握?
T:0.005109s,M:237.6 KB
返回顶部
留言
留言
评论