【问题标题】:Sending headers from node js从节点 js 发送标头
【发布时间】:2016-09-26 16:52:08
【问题描述】:

在 Node JS Express 中,我有一个名为 download 的 API。这会向调用应用程序返回一个缓冲区以及一个名为 status 的标头(它是一个 Javascript 对象)。

我将缓冲区作为响应正文从节点发送,并希望将状态作为自定义标头发送。

这就是我的回复的样子

response.setHeader('Access-Control-Allow-Origin','*');

    if(responseBody instanceof Buffer) {
         var status = JSON.stringify(responseHeaders.status);
         console.log('Status is '+status); //Status is printed correctly here as a Javascript object

        response.writeHead(responseStatusCode, responseHeaders);
        response.end(responseBody);
        console.log('Buffer sent')
    } 

我是从邮递员那里打来电话的。当响应到达 Postman 时,在 headers 选项卡中,状态显示为 [object Object]。

status --> [object Object]

我在将标头发送到客户端之前对其进行了字符串化,那么为什么我会在响应标头中看到对象。

【问题讨论】:

  • setHeader 是否接受 json 作为参数?
  • 最好用字符串
  • 不会 JSON.stringify 将其转换为字符串吗?它首先转换为字符串,然后将该字符串设置为标题。
  • 奇怪...不会response.writeHead 覆盖setHead()
  • 反其道而行之。离开 setHeader 并移除 writeHead。 responseHeaders 仍然有对象版本。

标签: javascript node.js express


【解决方案1】:

用途:

res.statusCode = status;
return res.json(responsebody);

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多