html - 找不到快速路线 - 404 错误
问题描述
我正在创建一个简单的联系表单并使用 nodejs 和 express 处理后端。我使用适当的操作('/contact')实现了我的表单并以角度实现了一条路线。每当我提交表单时,我都会收到错误消息:
The requested URL /contact was not found on this server.
index.js:
// POST route from contact form
app.post('/contact', function (req, res) {
let mailOpts, smtpTrans;
smtpTrans = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: GMAIL_USER,
pass: GMAIL_PASS
}
});
mailOpts = {
from: req.body.name + ' <' + req.body.email + '>',
to: GMAIL_USER,
subject: 'New message from contact form at tylerkrys.ca',
text: `${req.body.name} (${req.body.email}) says: ${req.body.message}`
};
smtpTrans.sendMail(mailOpts, function (error, response) {
if (error) {
res.render('contact-failure');
}
else {
res.render('contact-success');
}
});
});
索引.html:
<form action="/contact" id="contact-form" method="post" role="form">
<h2 class="text-center">Contact us</h2>
<div class="form-group"><input class="form-control" type="text" id="name" name="name" placeholder="Name" required="required"></div>
<div class="form-group"><input class="form-control is-invalid" type="email" id="email" name="email" placeholder="Email" required="required"><small class="form-text text-danger">Please enter a correct email address.</small></div>
<div class="form-group"><textarea class="form-control" rows="14" id="message" name="message" placeholder="Message" required="required"></textarea></div>
<div class="form-group"><button class="btn btn-primary" type="submit">Send </button></div>
</form>
我正在使用 debian 4.9.88 的 APACHE 服务器上运行。我查看了有关此问题的其他表单帖子,并尝试在我的 /public_html/ 根目录中实现以下 .htaccess 文件:
1 <IfModule mod_rewrite.c>
2 RewriteEngine On
3 RewriteBase /
4 RewriteRule ^index\.html$ - [L]
5 RewriteCond %{REQUEST_FILENAME} !-f
6 RewriteCond %{REQUEST_FILENAME} !-d
7 RewriteRule . /index.html [L]
8 </IfModule>`
然而这并没有解决问题。这也是由于我对路线的工作原理缺乏了解(我阅读了角度文档,但仍然无法理解为什么找不到 /contact 路径)。
更新:显然我需要在更改我的 .htaccess 文件时将 apache 配置更改为“AllowOverride All”,并且我不再收到 404 错误,但实际路由仍然没有被触发。我只是被重定向到我的 index.html 页面:“www.SITE.com/contact” 对此的任何帮助将不胜感激。
解决方案
推荐阅读
- angular - p-dataView 获取选定行的值
- javascript - 用于自动加减的动态 crud 表
- android - 错误:找不到 com.google.firebase:firebase-plugins:1.1.5
- python - 使用圆的定积分计算 pi
- angular - 波纹效果未显示在角度应用程序的按钮中 - Angular-Material
- arrays - xidel:将对象添加到 json 数组中
- google-bigquery - _PARTITIONDATE 的 BigQuery“此查询在运行时将处理 0 B”
- tensorflow - Tensorflow 对象检测后量化的准确度下降
- vue.js - Vuetify v-flex 宽度规格
- docker - 无法从 android 模拟器连接到 docker 中的 API