联系人表格未向终端提交信息

时间:2019-06-04 03:06:24

标签: node.js express

我使用express,node,bodyParser从联系表单中提取信息并将其发布到终端。当我运行代码并通过LocalHost:3000访问演示站点时,提交后,我的输入项未显示在终端中。

我尝试过更改表单属性action =“ send” action =“ / send” action =“ /”

url delete

2 个答案:

答案 0 :(得分:0)

您是否尝试过控制台记录app.post的req而不是res?

答案 1 :(得分:0)

如果您正在执行console.log(req.body),那么这应该输出一个长json对象。如果这种情况没有发生,则说明您未点击网址。

const express = require('express');
    const path = require('path');
    const bodyParser = require('body-parser');
    const exphbs = require('express-handlebars');

    const nodemailer = require('nodemailer');

    const app = express();

   // View engine setup
    app.engine('handlebars', exphbs());
     app.set('view engine', 'handlebars');

    // Static folder
    app.use('/public', express.static(path.join(__dirname, 'public')));

    // Body Parser Middleware
   app.use(bodyParser.urlencoded({extended:false}));
   app.use(bodyParser.json());

    app.get('/', (req, res) => {
      res.render('contact', { layout: false });
     });

    app.post('/send', (req, res) => {
        console.log(res.body);
    });

问题出在您的html代码中。我做了一些更改,请尝试一下。

 //Form HTML code    
    <form action="http://localhost:9000/send" method="POST">
    <input name="name" type="text" id="name" placeholder="NAME: First & Last">
    <input name="email" type="text" id="email" placeholder="EMAIL:">
    <textarea name="text" id="text" cols="30" rows="10" placeholder="QUESTION OR INQUIRY:"></textarea>
    <br>
    <button type="submit">Submit</button>
    </form>
相关问题