cYn*_*cYn 27 javascript node.js
在我的应用程序中,我让我的Nodejs服务器发送JSON响应.我发现了两种方法,但我不确定它们之间的区别.
一种方法是
var json = JSON.stringify(result.rows);
response.writeHead(200, {'content-type':'application/json', 'content-length':Buffer.byteLength(json)});
response.end(json);
Run Code Online (Sandbox Code Playgroud)
我的另一种方式是
var json = JSON.stringify(result.rows);
response.setHeader('Content-Type', 'application/json');
response.end(json);
Run Code Online (Sandbox Code Playgroud)
两种方式都有效,我只是想知道两者之间的区别是什么,以及何时应该使用另一种方式.
zer*_*298 44
response.setHeader()只允许您设置单个标题.
response.writeHead()将允许您设置有关响应头的所有内容,包括状态代码,内容和多个标头.
考虑API:
response.setHeader(name,value)
为隐式标头设置单个标头值.如果此标头已存在于待发送标头中,则其值将被替换.如果需要发送多个具有相同名称的标头,请在此处使用字符串数组.
var body = "hello world";
response.setHeader("Content-Length", body.length);
response.setHeader("Content-Type", "text/plain");
response.setHeader("Set-Cookie", "type=ninja");
response.status(200);
Run Code Online (Sandbox Code Playgroud)
response.writeHead(statusCode,[reasonPhrase],[headers])
向请求发送响应标头.状态代码是一个3位HTTP状态代码,如404.最后一个参数headers是响应头.可选地,可以将人类可读的reasonPhrase作为第二个参数.
var body = "hello world";
response.writeHead(200, {
"Content-Length": body.length,
"Content-Type": "text/plain",
"Set-Cookie": "type=ninja"
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24255 次 |
| 最近记录: |