Javascript 将http.get Node.js与回调一起使用

Javascript 将http.get Node.js与回调一起使用,javascript,node.js,http,Javascript,Node.js,Http,我正在尝试实现这个库,它可以生成二维码和所有其他类型的代码 我遇到的问题是发出一个请求,其中我可以访问req和res对象,因为我需要将它们传递给库。在文件中,他们建议 http.createServer(function(req, res) { // If the url does not begin /?bcid= then 404. Otherwise, we end up // returning 400 on requests like favicon.ico.

我正在尝试实现这个库,它可以生成二维码和所有其他类型的代码

我遇到的问题是发出一个请求,其中我可以访问req和res对象,因为我需要将它们传递给库。在文件中,他们建议

http.createServer(function(req, res) {
    // If the url does not begin /?bcid= then 404.  Otherwise, we end up
    // returning 400 on requests like favicon.ico.
    if (req.url.indexOf('/?bcid=') != 0) {
        res.writeHead(404, { 'Content-Type':'text/plain' });
        res.end('BWIPJS: Unknown request format.', 'utf8');
    } else {
        bwipjs.request(req, res); // Executes asynchronously
    }

}).listen(3030);
问题是我已经创建了一个服务器,我只想在get请求中调用库,而不创建另一个服务器。我试过了

http.get('http://localhost:3030/?bcid=azteccode&text=thisisthetext&format=full&scale=2', (req, res) => {
  bwipjs.request(req, res); // Executes asynchronously
  }
)
这显然不起作用,因为回调只将响应作为参数


我希望在实现中使用裸节点,因为这是我的服务器的实现方式,我不想仅为这种情况添加库(如Express)。

您严重误解了
http.get

用于对特定url执行HTTP GET调用。它基本上就是
axios
请求
ajax
xhr
postman
浏览器
所做的

http.get
的url参数不是路由。这是你想要点击的网址

如果要处理特定的路由,必须在
http.createServer()
处理程序本身中进行

http.createServer(function(req, res) {
  if (req.url.indexOf('/?bcid=') != 0) {
      //do something
  } else if (req.method == "get" && req.url.indexOf('/?bcid=') != 0){
      bwipjs.request(req, res); // Executes asynchronously
  } else {
    //do something else
  }

}).listen(3030);

请查看可用的属性,您可以使用。

我真的不明白您在说什么。你能具体点吗?对库的调用是这样完成的:bwipjs.request(req,res)。因此,为了进行调用,我需要访问req和res。但是,在http.get中,我只有响应:http.get(url,(response)=>{bwipjs(request??,response)})