javascript - 快递:无法路由
问题描述
在我的主页上,我有一个学生登录按钮。单击时,我想重定向到登录页面。但我没有在登录路线内收到请求。
server.js 文件
const express=require('express');
const path=require('path');
const bodyparser=require('body-parser');
const session=require('express-session');
const{v4:uuidv4}=require('uuid');
const router=require('./router');
const app=express();
const port=process.env.PORT||3000;
app.arguments(bodyparser.json())
app.arguments(bodyparser.urlencoded({extended:true}))
app.set('view engine','ejs');
app.arguments(session({
secret:uuidv4(),
resave: false,
saveUninitialized: true
}));
app.use('/route',router)
//home route
app.get('/',(req,res)=>{
res.render('home');
})
app.listen(port,()=>{console.log("Listening to the server on http://localhost:3000")});
路由器.js 文件
var express=require('express');
var router=express.Router();
//student login page
router.get("/studentlogin",(req,res)=>{
res.end("Login Successfull");
})
Module.exports=router;
意见/home.ejs 文件
<form action="/route/studentlogin">
<input type="submit" class="btn btn-outline-primary align-items-end" value="Student Login">
</form>
我期望的是打印登录成功,但我收到错误。
错误
无法获取 /route/studentlogin
解决方案
- 尝试使用
app.use
而不是app.arguments
- 替换
bodyParser
为express
- 添加
cors
库以启用 CORS - 使用导出模块
module.exports
服务器.js
const express = require('express');
const path = require('path');
const cors = require('cors')
const session = require('express-session');
const { v4: uuidv4 } = require('uuid');
const router = require('./router');
const app = express();
const port = process.env.PORT || 3000;
app.use(cors())
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.set('view engine', 'ejs');
app.use(
session({
secret: uuidv4(),
resave: false,
saveUninitialized: true,
})
);
app.use('/route', router);
//home route
app.get('/', (req, res) => {
res.render('home');
});
app.listen(port, () => {
console.log('Listening to the server on http://localhost:3000');
});
路由器.js
...
module.exports=router;
推荐阅读
- c# - 为什么是 IOptionsMonitor
.OnChange 没有被调用? - bash - POSIX sh:复合命令如何与管道一起使用?
- devops - 使用 VStest 并行运行测试不起作用
- php - PHP - 将变量的内容替换为名称
- mqtt - Thingsboard 断开 MQTT 客户端
- perl - 格式化哈希内容以生成报告
- angular - undefined[] 缺少类型中的以下属性
- python - 在 Pandas df 上运行 lower_case.translate 和 string.punctuation 的 AttributeError
- google-cloud-platform - 如何解决 terraform 中的“错误 409:这些数据存储实体的争用过多”?
- javascript - 如何在循环中使用 React setState?