【发布时间】:2021-07-05 22:19:13
【问题描述】:
我是 node.js 和 web 编程的新手,我没有简单的代码来测试我的问题,但我认为问题可能很容易解决,我有一个观点想向控制器文件发送一些信息,这里我将放置视图和其他文件:
index.html.js 的视图:
<form action="ongs">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe"><br><br>
<input type="submit" value="Submit">
</form>
这里是名为ongs.js的控制器
const KoaRouter = require('koa-router');
var Koa = require('koa');
const router = new KoaRouter();
var app = new Koa();
router.get('ongs', '/', async (ctx) => {
const skelevar = "hi skel";
console.log('\n------ get ------');
await ctx.render('ongs/index', { skelevar });
});
router.post('/ongs', (ctx, next) => {
console.log('\n--fafafa');
ctx.body = ctx.request.body;
console.log('\n--isisisisisisisisi');
});
console.log('\n hi guys');
module.exports = router;
app
.use(router.routes())
.use(router.allowedMethods());
这里是 routes.js 文件:
const KoaRouter = require('koa-router');
const hello = require('./routes/hello');
const index = require('./routes/index');
const ongs = require('./routes/ongs');
const router = new KoaRouter();
router.use('/', index.routes());
router.use('/hello', hello.routes());
router.use('/ongs', ongs.routes());
module.exports = router;
我的文件夹的组成如下:
红色箭头显示我向您展示的每个文件的深度
当我按下提交页面刷新但我在 router.post 中的任何控制台日志都显示在控制台中。 当我在控制台中按下提交时,我得到的唯一消息如下:
------ get ------
--> GET /ongs?fname=John&lname=Doe 200 18ms 609b
ℹ 「hot」: WebSocket Client Connected
<-- GET /assets/app.js
--> GET /assets/app.js 200 5ms 1.29mb
<-- GET /assets/logo.png
--> GET /assets/logo.png 200 3ms 6.77kb
ℹ 「hot」: WebSocket Client Connected
<-- GET /ongs?fname=John&lname=Doe
------ get ------
--> GET /ongs?fname=John&lname=Doe 200 18ms 609b
<-- GET /assets/app.js
<-- GET /assets/logo.png
--> GET /assets/app.js 200 5ms 1.29mb
--> GET /assets/logo.png 200 5ms 6.77kb
【问题讨论】:
标签: html node.js forms view routes