您好我是网络开发的新手我正在尝试编写联系我们表单的后端代码,但它一直给我错误:
我的联系我们的Html代码表单:
</div>
<div class="row">
<div class="col-sm-8">
<div class="contact-form">
<h2 class="title text-center">Get In Touch</h2>
<div class="status alert alert-success" style="display: none"></div>
<form id="main-contact-form" class="contact-form row" name="contact-form" method="post">
<div class="form-group col-md-6">
<input type="text" name="name" class="form-control" required="required" placeholder="Name">
</div>
<div class="form-group col-md-6">
<input type="email" name="email" class="form-control" required="required" placeholder="Email">
</div>
<div class="form-group col-md-12">
<input type="text" name="subject" class="form-control" required="required" placeholder="Subject">
</div>
<div class="form-group col-md-12">
<textarea name="message" id="message" required="required" class="form-control" rows="8" placeholder="Your Message Here"></textarea>
</div>
<div class="form-group col-md-12">
<input type="submit" name="submit" class="btn btn-primary pull-right" value="Submit">
</div>
</form>
</div>
</div>
我的后端代码是
var express = require('express');
var logger = require('morgan');
var bodyParser = require('body-parser');
var pjs = require('ejs');
var nodemailer = require('nodemailer');
var router = express.Router();
var app = express();
// Middleware
app.set('view engine', 'ejs');
app.use(express.static('public'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/', function(req, res) {
// database query
res.render('index');
});
app.get('/blog-single.html', function(req, res) {
// database query
res.render('blog-single');
});
app.get('/blog.html', function(req, res) {
// database query
res.render('blog');
});
app.get('/cart.html', function(req, res) {
// database query
res.render('cart');
});
app.get('/checkout.html', function(req, res) {
// database query
res.render('checkout');
});
app.get('/contact-us.html', function(req, res) {
// database query
res.render('contact-us');
});
router.post('/contact-us.html :contact-form', function(req, res) {
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'abm.rizk@gmail.com', // Your email id
}
})
});
app.get('/index.html', function(req, res) {
// database query
res.render('index');
});
app.get('/login.html', function(req, res) {
// database query
res.render('login');
});
app.get('/product-details.html', function(req, res) {
// database query
res.render('product-details');
});
app.get('/shop.html', function(req, res) {
// database query
res.render('shop');
});
app.get('/*', function(req, res) {
// database query
res.render('404');
});
app.listen(8080, function(err) {
if (err) {
console.log("Error");
} else {
console.log("Running on port 8080");
}
})
这是我的完整后端代码和html我只是发布了联系我们表单,所以基本上我的问题是
router.post('/contact-us.html :contact-form', function(req,res){
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'abm.rizk@gmail.com', // Your email id
}
})
});
在控制台中没有错误,只有我浏览的错误:
我的表格:
但是一旦我点击提交:
答案 0 :(得分:1)
路线的路径是错误的。改为:
router.post('/contact-us', function(req,res){
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'abm.rizk@gmail.com', // Your email id
}
})
});
我在他们的路线上发现了这个问题,但它仍然不起作用,发布了控制台错误输出。