Node.js Nodejs Express-带JSON文件的Post请求

Node.js Nodejs Express-带JSON文件的Post请求,node.js,Node.js,这是我的代码: var fs = require('fs'); fs.readFile('./public/samp.json', "utf8", function readFile(err, data) { if(err) { throw err; } else { app.post('/api/process', function(data, res) { sessCntrlr.procedure(pool, res, req); con

这是我的代码:

var fs = require('fs');

fs.readFile('./public/samp.json', "utf8", function readFile(err, data) {
  if(err) {
    throw err;
  }
  else {
    app.post('/api/process', function(data, res) {
      sessCntrlr.procedure(pool, res, req);
      console.log(res);
    });
  }
});
我的目标是从json文件('./public/samp.json')中获取信息,并使用该文件将请求发布到API。我知道并理解应该是客户机发送请求,但我正在试图弄清楚是否可以通过json文件发布请求


有什么想法吗?我上面的代码根本不起作用,除了使用fs.readFile获取数据的部分。

您不应该在回调中创建API。如果您想使用创建不同的函数,并将其用于文件和API

var fs = require('fs');

var process = (pool, res, req) => {
    /* Do something */
    sessCntrlr.procedure(pool, res, req);
}


app.post('/api/process', function (req, res) {
    /* Do something and get params for process */
    process(pool, res, req);
});


fs.readFile('./public/samp.json', "utf8", function readFile(err, data) {
    if (err) {
        throw err;
    } else {
        /* Do something and get params for process */
        process(pool, res, req);
    }
});
首先,
app.post('/api/process',function(){})
是服务器端的一个处理程序,用于处理传入的
post
请求

要在服务器端节点应用程序上进行
POST
调用,可以使用npm


app.post
只是在
/api/post
中添加了一个处理程序,客户端可能会调用该处理程序,您确切的意思是什么根本不起作用?@sureshraprajapati-当我尝试console.log假定的结果时,我一无所获。也就是说,我不认为它甚至在应用程序之后继续进行。post@SureshPrajapati-那么,如果app.post不能以这种方式工作,我如何将从readFile获得的数据发送到假定的API函数呢。但问题仍然是如何使用数据(来自readFile的响应)作为对API(/API/process)的请求?现在该进程是一个不同的函数,您可以传递任何您想要的。这不是一个100%干净的解决方案,因为我必须修复一些错误,尽管此站点中的答案不应该总是匙形反馈。然而,这确实奏效了!谢谢
'use strict';

let fs = require('fs');
let request = require('request');

let jsonData = fs.readFileSync('./public/samp.json', 'utf8');

request({
  method: 'POST',
  url: '/api/process',
  body: jsonData, //information from json
  headers: {
    'User-Agent': 'Request-Promise'
  },
  json: true
}, function (error, response, body) {
  if (error) {
    console.log('error', error);
  }

  console.log('body', body);
  sessCntrlr.procedure(pool, res, req); //your code
});