个性化阅读
专注于IT技术分析

Express.js响应Response

本文概要

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)

此方法设置为响应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:
赞(0)
未经允许不得转载:srcmini » Express.js响应Response

评论 抢沙发

评论前必须登录!