javascript - 为什么我的索引 POST 请求不起作用?
问题描述
const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const mongoose = require('mongoose');
const app = express();
//DB config
const db = require('./config/keys').mongoURI;
//Connect to Mongo
mongoose.connect(db, { useNewUrlParser: true, useUnifiedTopology: true})
.then(() => console.log('MongoDB connected...'))
.catch(err => console.log(err));
//EJS
app.use(expressLayouts);
app.set('view engine', 'ejs');
//Styles middleware
app.use('/css', express.static('css'));
app.use('/fonts', express.static('fonts'));
app.use('/vendor', express.static('vendor'));
app.use('/js', express.static('js'));
//Bodyparser
app.use(express.urlencoded({extended: false}));
//Routes
app.use('/', require('./routes/index'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, console.log(`Server started on port ${PORT}`));
const express = require('express');
const router = express.Router();
//Welcome/register page
router.get('/', (req, res) => res.render('register'));
router.post('/', (req, res) => {
console.log(req.body);
res.send('Hello')
});
module.exports = router;
<div class="signup">
<!-- HEADER -->
<header class="signup__header">
<div class="container">
<div class="signup__header-content">
<p><a href="#">Already have an account?</a></p>
<a href="/login" class="btn">Sign In</a>
</div>
</div>
</header>
<!-- MAIN -->
<main class="signup__main">
<img class="signup__bg" src="" alt="">
<div class="container">
<form class="signup__container">
<div class="signup__logo">
<a href="#"><img src="fonts/icons/main/Logo_Forum.svg" alt="logo">Musevista</a>
</div>
<div class="signup__head">
<h3>Create a New Account</h3>
<p>By singin up you can start posting, replaying to topics, earn badges, favorite, vote topics and many more.</p>
</div>
<form action="/" method="POST">
<div class="signup__form">
<div class="row">
<div class="col-md-6">
<div class="signup__section">
<label class="signup__label" for="first-name">First Name</label>
<input type="text" class="form-control" name="firstname" id="first-name" value="<%= typeof firstname != 'undefined' ? firstname : '' %>">
</div>
</div>
<div class="col-md-6">
<div class="signup__section">
<label class="signup__label" for="last-name">Last Name</label>
<input type="text" class="form-control" name="lastname" id="last-name" value="<%= typeof lastname != 'undefined' ? lastname : '' %>">
</div>
</div>
</div>
<div class="signup__section">
<label class="signup__label" for="username">Username</label>
<input type="text" class="form-control" name="username" id="username" value="<%= typeof username != 'undefined' ? username : '' %>">
</div>
<div class="signup__section">
<label class="signup__label" for="email">Email Address</label>
<input type="text" class="form-control" name="email" id="email" value="<%= typeof email != 'undefined' ? email : '' %>">
</div>
<div class="signup__section">
<label class="signup__label" for="password">Password</label>
<div class="message-input">
<input type="password" class="form-control" name="password" id="password" value="<%= typeof password != 'undefined' ? password : '' %>">
<span class="message-input__strong">strong</span>
</div>
</div>
<div class="signup__checkbox">
<div class="row">
<div class="col-md-6">
<label class="signup__box">
<label class="custom-checkbox">
<input type="checkbox" checked="checked">
<i></i>
</label>
<span>I agree to the Terms & Conditions.</span>
</label>
</div>
<div class="col-md-6" data-visible="desktop">
<label class="signup__box">
<label class="custom-checkbox">
<input type="checkbox">
<i></i>
</label>
<span>Subscribe to newsletter</span>
</label>
</div>
</div>
</div>
<input class="signup__btn-create btn btn--type-02" type="submit" value="Create New Account">
</div>
</form>
</div>
</div>
</main>
<!-- FOOTER -->
<footer class="signup__footer">
<div class="container">
<div class="signup__footer-content">
<ul class="signup__footer-menu">
<li><a href="#">Teams</a></li>
<li><a href="#">Privacy</a></li>
<li><a href="#">Send Feedback</a></li>
</ul>
<ul class="signup__footer-social">
<li><a href="#"><i class="fa fa-facebook-square" aria-hidden="true"></i></a></li>
<li><a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a></li>
<li><a href="#"><i class="fa fa-google-plus" aria-hidden="true"></i></a></li>
<li><a href="#"><i class="fa fa-dribbble" aria-hidden="true"></i></a></li>
<li><a href="#"><i class="fa fa-cloud" aria-hidden="true"></i></a></li>
<li><a href="#"><i class="fa fa-rss" aria-hidden="true"></i></a></li>
</ul>
</div>
</div>
</footer>
</div>
默认情况下,我的网站已加载到注册表,但响应不起作用,并且正文请求被发布到 url。我有一个使用相同索引文件的登录页面,并且该帖子正在工作,只是找到。我认为这可能与我的表单操作没有正确的路径有关。我确信即使作为起始页也可以接收帖子。
解决方案
问题是,您form
嵌套在另一种形式中,您应该将 class 的形式更改signup_container
为 a div
。
推荐阅读
- angular - 枚举无法识别 - cypress 角度单元测试
- c++ - 在 C++ 中迭代二维向量时出现超出范围的错误
- javascript - 使用功能挂钩反应 Redux(无法访问道具上的动作创建者方法)
- c - *C* 我一直在 Leetcode 中遇到 Address Sanitizer Heap Buffer Overflow
- python - 在 urls.py(Django) 中未检测到 TodayArchiveview
- reactjs - 为什么 post man 中的 api 请求和 react native 中的 api fetch 请求有不同的响应
- html - 导航栏列表未居中
- python - 如何合并使用openslide-python获得的图块
- python - 为什么 Python 中负数的平方根不是纯虚数?
- sql - 将现有表的主键值增加 2 或任何其他数字