我正在尝试使用Express构建CRUD应用。
到目前为止,我所有的路线都有效。这些路由包括GET,POST,PUT和DELETE请求。如下图所示
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
//Display Campgrounds
app.get('/campgrounds',(req,res)=>{
Campground.find({}).populate("comments").exec((err,foundCamground)=>{
if(err){console.log(err);}
else{
campgroundArr = foundCamground;
res.render('campgrounds.ejs',{campgrounds: campgroundArr});
}
});
});
app.post('/campgrounds',parser.single('camp_image'),(req,res)=>{
//Does stuff not relevant to the question
res.redirect('/campgrounds');
});
以此类推。
所有与“ /露营地”相关的先前路线都已经起作用,并且仍然起作用。
但是,在尝试设置用于用户身份验证的路由时遇到了问题。
在故障排除过程中,我发现没有新路由可用。不是GET或POST。
app.get('/register',(req,res)=>{
res.send('register works');
});
这只是挂起,直到请求超时。
app.post('/register',(req,res)=>{
res.send('register works');
});
这只是返回错误:无法发布/ REGISTER
这是新POST路线的简单测试表格
<form action='/register' method="POST">
<input type='text'name='username'>
<button>Submit</button>
</form>
有人知道为什么我的旧路线没有问题,但是我尝试添加的任何新路线都没有效果吗?
编辑:终端不会抛出任何错误,但是浏览器控制台向我提供以下内容:
“拒绝加载字体”,因为它违反了以下内容安全策略指令:“ default-src'none'”。请注意,未明确设置“ font-src”,因此使用了“ default-src”作为备用。”
在禁用语法[https://cutt.ly/1wIPTZF]之后,我得到了错误消息: “内容安全策略:页面的设置阻止了http://localhost:3000/favicon.ico(“ default-src”)资源的加载。”
注意:我的.ejs文件中未包含任何元标记