【问题标题】:How can i receive messages from a form in my website [closed]我如何从我的网站中的表单接收消息[关闭]
【发布时间】:2021-04-18 16:01:58
【问题描述】:

最近我使用 HTML、CSS 和 JavaScript 制作了我的网站。我在页面底部添加了一个包含 3 个输入(姓名、电子邮件、消息)的表单供访问者填写。我希望以某种方式接收这些信息到我的电子邮件。 我已经通过互联网搜索,但我无法理解如何将我的网站的 html 文件与使用节点的应用程序连接起来,我想该节点将在本地运行我的服务器。

【问题讨论】:

  • 你有没有尝试过?如果有,请附上您的代码。
  • 不,我没有,因为我不知道怎么做

标签: javascript html node.js


【解决方案1】:

我建议使用 Express 之类的框架进行 Node.js 交互。所以你要做的第一件事就是安装它:

npm install express

在这个例子中,我将安装一个额外的中间件,称为 body-parser。

npm install body-parser  //  which would do this for you. body-parser parses your request and converts it into a format from which you can easily extract relevant information that you may need

制作一个简单的服务器来处理您的 POST 请求,如下所示:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/formData', (req, res) => {
  res.send(`Data from form :${req.body.name} ${req.body.lname}${req.body.message}.`);
});

const port = 8080;

app.listen(port, () => {
  console.log(`Your server is running on port${port}`);
});

在您的 HTML 表单中:您可以将数据发送到 localhost [http://127.0.0.1]、端口 8080 和 /formData 的路由 --> 在 Express 服务器中配置

<form action="http://localhost:8080/formData" method="POST">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
 <button type="submit">Send to backend</button>
</form>

您实际上可以查看以下链接以创建 node.js 服务器:

https://dev.to/miku86/nodejs-how-to-create-a-simple-server-using-express-1n9d

【讨论】:

  • 非常感谢!!!不过有一个问题。是否可以随时接收此数据?我的意思是我的本地服务器应用程序大部分时间都会关闭,但我的网站一直在运行..
  • 您需要托管此后端服务,因为您要创建节点服务器。您可以使用任何云实例或 heroku。但是,根据您的使用情况,它可能会花费您。请按照以下步骤操作:devcenter.heroku.com/articles/deploying-nodejs
【解决方案2】:

您有多种选择。您的第一个选择是使用 mailto 链接,用户可以在其中向您发送电子邮件。您的第二个选项可以是使用短信链接,用户可以在该链接中向您发送短信。

【讨论】:

    【解决方案3】:

    使用第三方表单应用,如Google FormsMicrosoft Forms,然后使用“嵌入代码”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 2016-09-23
      • 1970-01-01
      相关资源
      最近更新 更多