Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 如何从HTTP响应中存储和返回数据?_Javascript_Node.js - Fatal编程技术网

Javascript 如何从HTTP响应中存储和返回数据?

Javascript 如何从HTTP响应中存储和返回数据?,javascript,node.js,Javascript,Node.js,我正在使用请求模块向一个API发出请求,该API向我发送一个Base64编码的响应,该响应是一个文件 app.get("/report", async(request, response) => { const newRequest = new mdl.Request const newDatasources = new mdl.Datasources const newVariables = new mdl.VariablesType const

我正在使用请求模块向一个API发出请求,该API向我发送一个Base64编码的响应,该响应是一个文件

    app.get("/report", async(request, response) => {
    const newRequest = new mdl.Request
    const newDatasources = new  mdl.Datasources
    const newVariables = new mdl.VariablesType
    const VariablesArray = []
    const myArray = []

    newRequest.Uri = "http://127.0.0.1:8080/listing.docx"
 newRequest.Async = false
    newRequest.OutputFormat = "html"
    newVariables.Name = "Var1"
    newVariables.Type = "text"
    newVariables.Value = "Hello World!"
    VariablesArray.push(newVariables)
    newDatasources.Name = "JSON"
    newDatasources.Type = "JSON"
    newDatasources.Data = "ewogICAgImxpc3RQcmljZSI6ICIkODc5LDAwMCIsCiAAgICAgInB1cmNoQ29udHJhY3REYXRlIjogIiIsCiAgICAgICAgImVuZGluZ0RhdGUiOiAiIgogICAgfQp9"
    newDatasources.Variables = VariablesArray
    myArray.push(newDatasources)

    newRequest.Datasources = myArray

    const req_data = JSON.stringify(newRequest)

    const options = {
        hostname: 'report.sample.com',
        port: 80,
        path: '/v1/reports',
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Content-Length': req_data.length
        }
      }
      const req = http.request(options, (error, resp, body) => {
        console.log(`statusCode: ${res.statusCode}`)

        resp.on('data', (d) => {
          process.stdout.write(d)
        })
      })

      resp.on('error', (error) => {
        console.error(error)
      })

      req.write(req_data)

      req.end()

      response.send("done")
    });

这会在我的终端上打印出接收到的数据,但我如何将其存储在变量中,并将其作为对请求的响应返回呢?只是我正在做的一些背景知识。我正在构建一个报告请求,然后通过该请求发送到api,该请求以编码字符串的形式返回数据

很难准确地告诉我您正在使用什么来运行它

使用


如果您使用的是express。

我会更新代码以包含整个路线。数据不可访问您不必包含数据变量,这只是我尝试的一个示例。如果这段代码发送响应,那就是最重要的。响应是传递到.send()的对象。抱歉,这不是问题所在。http请求以流的形式返回响应,因此我必须将返回的数据放入一个变量中才能返回它。
res.status(200).send({success: true, data: data})