Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js将JSON作为文件返回_Json_Api_Node.js - Fatal编程技术网

Node.js将JSON作为文件返回

Node.js将JSON作为文件返回,json,api,node.js,Json,Api,Node.js,我正在编写一个node.js应用程序,当我试图从第三方API获取数据时,最奇怪的事情发生了。我将JSON结果作为一个文件。在控制台中,它正确地输出文本,但当我从浏览器中点击它时,它会下载一个包含json字符串的文件。我尝试过使用JSON.stringify,但我相信它只打印出十六进制 如何告诉node.js将结果的内容输出到浏览器 https.get({ host: 'api.bookshare.org', path: '/book/searchFTS/"+keyword+"/page/

我正在编写一个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);
});

Chrome将内容类型头text/json视为一个文件。将其设置为text/plain就成功了。

记住关于json文件的适当标题application/json。你的浏览器可能会将这些文件视为可下载文件。是的,我很愚蠢。这就成功了。