【问题标题】:Node.js returning JSON as fileNode.js 返回 JSON 作为文件
【发布时间】:2012-06-28 19:42:19
【问题描述】:

我正在编写一个 node.js 应用程序,当我尝试从第三方 API 获取数据时发生了最奇怪的事情。我将 JSON 结果作为文件获取。在控制台中,它会正确输出文本,但是当我从浏览器中点击它时,它会下载一个包含 json 字符串的文件。我试过做 JSON.stringify 但我相信它只会打印出十六进制。

如何告诉 node.js 将结果的内容输出到浏览器?

    https.get({ host: 'api.bookshare.org', path: '/book/searchFTS/"+keyword+"/page/1/limit/250/format/json?api_key=2msxgk595nke8rhwmbzh8sut' }, function(res) {
  console.log("statusCode: ", res.statusCode);
  console.log("headers: ", res.headers);

  res.on('data', function(d) {
    console.log(d);
  });

}).on('error', function(e) {
  console.error(e);
});

【问题讨论】:

  • 记住 JSON 文件的适当标题 (application/json)。您的浏览器可能会将这些文件视为可下载的。
  • 是的,愚蠢的我。成功了。

标签: json api node.js


【解决方案1】:

Chrome 将内容类型标头 text/json 视为文件。将其设置为 text/plain 就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 2011-04-22
    • 2023-04-05
    相关资源
    最近更新 更多