Почему почтовая форма не работает с герою - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю над сайтом, где я использую heroku для размещения моего node js файла, но у меня проблема. Когда я отправляю форму методом post, я получаю сообщение об ошибке; "Внутренняя Ошибка Сервера". Но когда я перезагружаю страницу, она работает хорошо. URL-адрес сайта: https://deluxedesigns.herokuapp.com/ (go до контактной формы)

html код;

    <h1>Contact</h1>
    <form action="/contact" method="post">
        <div class="contact-input-container">
            <div>
                <input name="email" class="contact-input contact-email" type="email" placeholder="name@gmail.com" autocomplete="off" required>
            </div>
            <div>
                <input name="subject" class="contact-input contact-subject" type="text" placeholder="subject.." autocomplete="off" required>
            </div>
            <div>
                <textarea name="message" class="contact-input contact-message" type="text" placeholder="message.." required></textarea>
            </div>
        </div>
        <button type="submit" class="contact-btn">Send</button>
    </form>

Node js код;

email = '';
message = '';
subject = '';
app.post('/contact', (req, res) => {
  if(req.body.email != null){
    email = req.body.email;
  }
  if(req.body.subject != null){
    subject = req.body.subject;
  }
  if(req.body.message != null){
    message = req.body.message;
  }
  if(email != '' && message != '' && subject != ''){
    sendEmailToBusinessContact(email, subject, message);
    res.redirect('/#contact')
  }
});

Heroku регистрирует ответ метода записи контакта:

2020-04-17T15:39:04.169771+00:00 heroku[router]: at=info method=POST path="/contact" host=deluxedesigns.herokuapp.com request_id=2a1ec6dc-d6ba-43d5-9a08-e26095df2d24 fwd="85.30.29.244" dyno=web.1 connect=0ms service=2ms status=404 bytes=391 protocol=https

Весь вывод распределяется на коде (внутри кода html (хотя это не код html)) https://codepen.io/Pilhamre/pen/ExVKrdm

Другие журналы, которые могут повлиять на ошибку:

2020-04-17T15:22:09.635383+00:00 app[web.1]: TypeError: Cannot read property 'payment_email' of undefined
2020-04-17T15:22:09.635408+00:00 app[web.1]: at /app/index.js:231:27
2020-04-17T15:22:09.635409+00:00 app[web.1]: at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
2020-04-17T15:22:09.635410+00:00 app[web.1]: at next (/app/node_modules/express/lib/router/route.js:137:13)
2020-04-17T15:22:09.635411+00:00 app[web.1]: at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
2020-04-17T15:22:09.635411+00:00 app[web.1]: at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
2020-04-17T15:22:09.635412+00:00 app[web.1]: at /app/node_modules/express/lib/router/index.js:281:22
2020-04-17T15:22:09.635412+00:00 app[web.1]: at Function.process_params (/app/node_modules/express/lib/router/index.js:335:12)
2020-04-17T15:22:09.635412+00:00 app[web.1]: at next (/app/node_modules/express/lib/router/index.js:275:10)
2020-04-17T15:22:09.635413+00:00 app[web.1]: at serveStatic (/app/node_modules/serve-static/index.js:75:16)
2020-04-17T15:22:09.635414+00:00 app[web.1]: at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)

2020-04-17T09:18:06.953219+00:00 app[web.1]: at next (/app/node_modules/express/lib/router/index.js:275:10)
2020-04-17T09:18:06.953219+00:00 app[web.1]: at serveStatic (/app/node_modules/serve-static/index.js:75:16)
2020-04-17T09:18:06.953220+00:00 app[web.1]: at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)

Остальная часть вывода журналов heroku - это просто heroku, получающий изображения.

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