Форма обратной связи, не предоставляющая информацию в Терминал - PullRequest
0 голосов
/ 04 июня 2019

Я использую express, node, bodyParser, чтобы получить информацию из контактной формы и отправить ее в терминал.Когда я запускаю код и получаю доступ к своему демонстрационному сайту через LocalHost: 3000, после отправки мои элементы ввода не отображаются в терминале.

Я попытался изменить атрибуты формы action = "send" action ="/ send" action = "/"

    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);
    });
    //Form HTML code

    <form action="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>

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Если вы делаете 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>
0 голосов
/ 04 июня 2019

Вы пробовали консоль, регистрирующую req вместо res для app.post?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...