提交表单时出现Heroku内部服务器错误

时间:2020-04-16 16:52:41

标签: html heroku webserver submit web-hosting

我正在一个node.js网站上,我们正在使用Heroku托管它。但是我有一个问题。每当我从网站提交表单时,它都会正常重定向,但不会显示指定文件,而只会显示“内部服务器错误”。但是,每当我在域后的网址中添加“ / contact”时,它就可以正常工作。任何人都知道问题出在哪里吗?非常感谢。

Index.js文件(节点js文件和主js文件):

const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
var stripe = require("stripe")("sk_test_bOSMKplPuyuTYFN6somV2Ywf00be7BKbS7");
var hbs = require("hbs");
var bodyParser = require("body-parser");

var app = express();

app.use(express.static(path.join(__dirname, 'public')))
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'hbs')
app.get('/', (req, res) => res.render('pages/index'))
app.get('/banner', (req, res) => res.render('pages/banner'))    


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')
  }
});

主要的html代码(index.hbs):

<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>

0 个答案:

没有答案