Express.js响应Response

本文概要

  • 它能做什么
  • 响应对象属性
  • 响应对象的方法
  • 响应Append方法
  • 响应附件方法
  • 响应Cookie的方法
  • 响应ClearCookie方法
  • 响应下载方法
  • 响应End方法
  • 响应格式方法
  • 响应Get方法
  • 响应JSON方法
  • 响应JSONP方法
  • 响应链接方法
  • 响应位置的方法
  • 响应重定向方法
  • 响应Render方法
  • 响应发送方法
  • 响应SENDFILE方法
  • 响应集合方法
  • 响应状态的方法
  • 响应类型的方法
Response对象(RES)指定其通过时,它得到一个HTTP请求的快速应用程序发送的HTTP响应。
它能做什么
  • 它发送响应返回给客户端浏览器。
  • 它有助于你把新的cookie值,这将写入到客户端浏览器(下跨域规则)。
  • 一旦你res.send()或res.redirect()或res.render(),你不能再干,否则,就会出现未捕获的错误。
响应对象属性让我们来看看response对象的某些属性。
指数属性描述
1.res.app它拥有到使用中间件的Express应用程序的实例的引用。
2.res.headersSent它是一个布尔属性,指示是否该应用发送的HTTP标头的响应。
3.res.locals它指定包含作用域到请求响应的局部变量的对象
响应对象的方法以下是一些方法:
响应Append方法句法:
res.append(field [,value])

此方法将指定值到HTTP响应报头字段。如果指定的值不那么合适此方法补救该意思。
例子:
res.append('Link',['< http://localhost/>','< http://localhost:3000/>']); res.append('Warning','199 Miscellaneous warning');

响应附件方法句法:
res.attachment([filename])

这种方法有利于你发送一个文件作为HTTP响应的附件。
例子:
res.attachment('path/to/js_pic.png');

响应Cookie的方法句法:
res.cookie(name,value [,options])

此方法用于设置cookie名称值。该值可以是转换为JSON字符串或对象。
例子:
res.cookie('name','Aryan',{ domain: '.xyz.com',path: '/admin',secure: true }); res.cookie('Section',{ Names: [Aryan,Sushil,Priyanka] }); res.cookie('Cart',{ items: [1,2,3] },{ maxAge: 900000 });

响应ClearCookie方法句法:
res.clearCookie(name [,options])

正如其名称所指定,所述clearCookie方法是用来清除name指定的cookie中。
例子:
设置cookie
res.cookie('name','Aryan',{ path: '/admin' });

要清除一个cookie:
res.clearCookie('name',{ path: '/admin' });

响应下载方法句法:
res.download(path [,filename] [,fn])

该方法在路径中的文件传输作为“附件”,并执行浏览器以供下载提示用户。
例:
res.download('/report-12345.pdf');

响应End方法句法:
res.end([data] [,encoding])

这种方法被用来结束响应处理。
例:
res.end(); res.status(404).end();

响应格式方法句法:
res.format(object)

在接受HTTP头请求对象上此方法执行内容协商,当存在时。
例:
res.format({ 'text/plain': function(){ res.send('hey'); },'text/html': function(){ res.send(' hey'); },'application/json': function(){ res.send({ message: 'hey' }); },'default': function() { // log the request and respond with 406 res.status(406).send('Not Acceptable'); } });

响应Get方法句法:
res.get(field)

该方法提供了通过字段中指定的HTTP响应报头中。
例:
res.get('Content-Type');

响应JSON方法句法:
res.json([body])

此方法返回JSON格式的响应。
例:
res.json(null) res.json({ name: 'ajeet' })

响应JSONP方法句法:
res.jsonp([body])

JSON格式的这个方法返回的响应采用JSONP支持。
例子:
res.jsonp(null) res.jsonp({ name: 'ajeet' })

响应链接方法句法:
res.links(links)

此方法通过将作为参数的特性提供的链接来填充响应?s链路HTTP报头字段。
例子:
res.links({ next: 'http://api.rnd.com/users?page=5',last: 'http://api.rnd.com/users?page=10' });

响应位置的方法句法:
res.location(path)

这种方法用于设置基于指定的路径参数的响应位置HTTP标头字段。
例子:
res.location('http://xyz.com');

响应重定向方法句法:
res.redirect([status,] path)

此方法重定向到从指定的路径导出的URL,具有指定的HTTP状态
例子:
res.redirect('http://example.com');

响应Render方法句法:
res.render(view [,locals] [,callback])

该方法呈现视图并发送呈现的HTML字符串到客户端。
例子:
// send the rendered view to the client res.render('index'); // pass a local variable to the view res.render('user',{ name: 'aryan' },function(err,html) { // ... });

响应发送方法句法:
res.send([body])

这种方法被用来发送HTTP响应。
例子:
res.send(new Buffer('whoop')); res.send({ some: 'json' }); res.send(' .....some html ');

响应SENDFILE方法句法:
res.sendFile(path [,options] [,fn])

该方法用于将文件在给定的路径传送。它设置基于文件扩展名的内容类型响应HTTP报头字段。
例子:
res.sendFile(fileName,options,function (err) { // ... });

响应集合方法句法:
res.set(field [,value])

这种方法用于设置HTTP报头字段的值来响应。
例子:
res.set('Content-Type','text/plain'); res.set({ 'Content-Type': 'text/plain','Content-Length': '123',})

响应状态的方法句法:
res.status(code)

【Express.js响应Response】此方法设置为响应HTTP状态。
例子:
res.status(403).end(); res.status(400).send('Bad Request');

响应类型的方法句法:
res.type(type)

此方法设置内容类型HTTP标头的MIME类型。
例子:
res.type('.html'); // => 'text/html' res.type('html'); // => 'text/html' res.type('json'); // => 'application/json' res.type('application/json'); // => 'application/json' res.type('png'); // => image/png:

    推荐阅读