res.setHeader和res.header有什么区别.哪一个应该用于启用CORS?在某些页面中使用了res.header,并且一些页面res.setHeader用于CORS.
Zag*_*ine 42
res.setHeader()是Node.js的本机方法,res.header()是res.set()Express框架的方法的别名.
这两种方法完全相同,设置标头HTTP响应.唯一的区别是res.setHeader()允许您只设置一个单一的标题,res.header()并允许您设置多个标题.所以请使用符合您需求的产品.
小智 15
也许一个例子可以澄清更多:
// single field is set
res.setHeader('content-type', 'application/json');
// multiple files can be set
res.set({
'content-type': 'application/json',
'content-length': '100',
'warning': "with content type charset encoding will be added by default"
});
Run Code Online (Sandbox Code Playgroud)
除了高投票的答案,set是别名,header它调用setHeader设置一个头。这是源代码:
res.set =
res.header = function header(field, val) {
if (arguments.length === 2) {
var value = Array.isArray(val)
? val.map(String)
: String(val);
// add charset to content-type
if (field.toLowerCase() === 'content-type') {
if (Array.isArray(value)) {
throw new TypeError('Content-Type cannot be set to an Array');
}
if (!charsetRegExp.test(value)) {
var charset = mime.charsets.lookup(value.split(';')[0]);
if (charset) value += '; charset=' + charset.toLowerCase();
}
}
this.setHeader(field, value);
} else {
for (var key in field) {
this.set(key, field[key]);
}
}
return this;
};
Run Code Online (Sandbox Code Playgroud)
另请参阅此处的GitHub
| 归档时间: |
|
| 查看次数: |
40151 次 |
| 最近记录: |