Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
Javascript 从请求解析响应体并返回到客户端_Javascript_Node.js_Request_Pipe - Fatal编程技术网

Javascript 从请求解析响应体并返回到客户端

Javascript 从请求解析响应体并返回到客户端,javascript,node.js,request,pipe,Javascript,Node.js,Request,Pipe,一般来说,我对node.js和JavaScript还不熟悉,但我正尝试将node.js用作一个简单的RESTAPI。客户端请求到达node.js,然后node.js到达数据库执行crud操作并返回响应。但是,我希望能够解析这个响应并在发送回客户端之前将其格式化为我自己的JSON。现在我正在使用请求库和.pipe()发回。我是否可以将.pipe()转换成一个可以解析的变量,或者我是否需要完全改变我的方法 以下是我的代码目前的样子: const request = require('request'

一般来说,我对node.js和JavaScript还不熟悉,但我正尝试将node.js用作一个简单的RESTAPI。客户端请求到达node.js,然后node.js到达数据库执行crud操作并返回响应。但是,我希望能够解析这个响应并在发送回客户端之前将其格式化为我自己的JSON。现在我正在使用请求库和
.pipe()
发回。我是否可以将
.pipe()
转换成一个可以解析的变量,或者我是否需要完全改变我的方法

以下是我的代码目前的样子:

const request = require('request');

var username = "admin";
var password = "admin";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

exports.getPosts = (req, res, next) => {
    request({
        uri: 'http://localhost:8000/LATEST/search?q=caesar',
        headers: {"Accept": "application/json",
                "Authorization": auth
        }   
    }).pipe(res);

};

我知道,
request
已被弃用,因此目前可能有更好的方法来实现这一点。我非常感谢您的帮助和反馈,因为我是新手。

您可以使用
请求
模块或
axios
或任何东西。您只需保存JSON主体并对其进行处理,然后将其发送到客户端。下面是如何做到这一点

const request = require('request');

var username = "admin";
var password = "admin";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

exports.getPosts = (req, res, next) => {
  request({
    uri: 'http://localhost:8000/LATEST/search?q=caesar',
    headers: {
      "Accept": "application/json",
      "Authorization": auth
    }
   // You can set json:true here so that you don't have to do JSON.parse below.
  }, (err, response, body)=>{
    //body is the json body
    const jsonBody = JSON.parse(body);
    //do something with json request
    res.json(jsonBody);
  })
};