将我从 EJS 获得的数据发送到我的其他 NodeJs 脚本(NodeJs express)

Send Data which I get from EJS to my other NodeJs Script (NodeJs express)

这是我的 Index.js 文件

const ig = require('./like');

const iglike = async() => {

   await ig.initialize();

   await ig.login('example', 'examplepass');

   await ig.liketagsprocess(***tags***);

   debugger;

};

module.exports = iglike;

这是我的controller.js(路线)

control.get('/like', (req, res) => {
    res.render("like");
    
});

control.post('/like', (req, res, next) => {
     let tags = req.body.likes;
     console.log(tags);
     const likeobj = require('./bin/index')(like);
     res.send(likeobj.iglike);
     next();
     res.send(tags);
     
});

这是我获取数据的表单[EJS]

<% (tag = ['']) %>
<form action="/like" method="POST">
    <% for (var i in tag){%>
        Tag: <input type="text" name="likes" value="<%= tag[i].likes %>"/><br><br>
        <button type="submit" value="accept">Send Tag</button><br><br><hr>
    <%} %>
</form>

我是一名高中生,正在使用 Node Express 制作我的第一个 Web 应用程序。不好意思的解释。

我需要做的是让表单接受来自用户的数组并将其发送到“标签”下的Index.js。

使用此代码我只能接受一个字符串并在我的控制台中打印它。

当我去localhost/like

表单显示并在输入数据后将其打印在控制台中并在 index.js[ 中执行我的代码=14=]

我无法将控制台中打印的数据传递到我的 index.js 文件。

我收到这个错误

(node:7140) UnhandledPromiseRejectionWarning: ReferenceError: tags is not defined

感谢您的帮助!

您需要更改一些内容:

在您的 index.js 文件中,为您的函数添加一个参数:

const ig = require('./like');

const iglike = async (tags) => { // < here

  await ig.initialize();

  await ig.login('example', 'examplepass');

  await ig.liketagsprocess(tags);

  debugger;

};

module.exports = iglike;

在你的 controller.js 中,你可以在文件顶部导入你的 iglike 函数,并在你的路由中使用它,将标签作为参数传递:

const iglike = require('./bin/index');

control.get('/like', (req, res) => {
  res.render("like");
});

control.post('/like', (req, res, next) => {
  let tags = req.body.likes;
  console.log(tags);
  iglike(tags);
  next();
  res.send(tags);
});

在您的 ejs 文件中,您应该将输入的名称更改为 likes[],以便它可以是一个数组:

<% (tag = ['']) %>
<form action="/like" method="POST">
    <% for (var i in tag){%>
        Tag: <input type="text" name="likes[]" value="<%= tag[i].likes %>"/><br><br>
        <button type="submit" value="accept">Send Tag</button><br><br><hr>
    <%} %>
</form>