在 Express.js 中,Request
和 Response
对象是常用的对象,这两个对象分别代表了客户端发起的请求和服务器响应的结果。在处理 web 应用时,熟练掌握 Request
和 Response
对象的方法和属性对于开发者来说是非常必要的。
本文将详细介绍 Request
和 Response
对象的方法和属性,让开发者能够更好地理解和掌握这两个对象的使用。
Request 对象
Request
对象包含了客户端发起的请求的所有信息,例如请求的 URL、请求头信息、请求体等。下面是 Request
对象的一些常用的方法和属性:
req.url
req.url
属性包含着浏览器发送的请求的 URL 信息,它是经过转义后的,如果 URL 中带有中文字符,那么 req.url
中将会是 URL 编码后的结果。示例如下:
app.get('/user/:id', function (req, res) { console.log(req.url); // 输出 /user/%E5%BC%A0%E4%B8%89 });
req.method
req.method
属性包含了请求的方法,例如 GET
、POST
、DELETE
、PUT
等。示例如下:
app.post('/user', function(req, res) { console.log(req.method); // 输出 POST });
req.param(name)
req.param()
方法用于取出请求里面的某个参数,例如在 GET 请求中,参数会被拼接在 URL 中,通过该方法可以取出这些参数。示例如下:
app.get('/user/:id', function(req, res) { console.log(req.param('id')); // 输出 123 });
req.headers
req.headers
属性包含了请求的所有头信息,返回的是一个对象。示例如下:
app.get('/', function(req, res) { console.log(req.headers); });
req.body
req.body
属性包含着 POST 请求携带的数据。需要使用 body-parser 中间件才能获取到。示例如下:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- --- - ---------- ---------------------------------------- --------- --------------------------- ----------------- ------------- ---- - ---------------------- -- -- ---- ------- ---
Response 对象
Response
对象表示服务器响应的结果,包含了发送给客户端的数据、设置的响应头信息以及响应的状态码等。下面是 Response
对象的一些常用的方法和属性:
res.send()
res.send()
方法用于向客户端发送数据,它的参数可以是任意类型的数据。示例如下:
app.get('/', function(req, res) { res.send('Hello World!'); });
res.json()
res.json()
方法用于向客户端发送 JSON 格式的数据。示例如下:
app.get('/user/:id', function(req, res) { res.json({ name: '张三', age: 18 }); });
res.status()
res.status()
方法用于设置响应的状态码,例如可以设置 404 状态码。示例如下:
app.get('/404', function(req, res) { res.status(404).send('页面不存在!'); });
res.redirect()
res.redirect()
方法用于重定向到指定的 URL。示例如下:
app.get('/redirect', function(req, res) { res.redirect('/user/123'); });
res.download()
res.download()
方法用于下载文件。示例如下:
app.get('/download', function(req, res) { res.download('/path/to/file'); });
总结
本文介绍了 Express.js 中 Request
和 Response
对象的一些常用的方法和属性,包括了 req.url
、req.method
、req.param()
、req.headers
、req.body
、res.send()
、res.json()
、res.status()
、res.redirect()
、res.download()
等。熟练掌握这些方法和属性对于开发者来说是非常必要的,在实际的开发过程中能够更好地理解和使用这两个对象。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647485fe968c7c53b01e0403