【发布时间】:2019-07-28 08:35:19
【问题描述】:
这是我写的一段代码
export let postChapter = (req: Request, res: Response) => {
var chapterInfoModel = mongoose.model(`${req.params.novelId}`, RiChapterScheme);
var array = {
title: req.body.chapterTitle,
content: req.body.chapterContent
};
let newChapterInfo = new chapterInfoModel(array);
newChapterInfo.save((err, book) => {
if (err) {
res.send({ error: err, affected: book });
} else if (!err) {
res.redirect('/novels/' + req.params.novelId);
}
});
};
上面的代码是我的控制器。这是我不知道如何转换为我的 vue 设置的部分
因为我的快速路由器是这样设置的
this.router.post('/novels/:novelId', novelController.postNovel);
这是我的 vue 路由器
router.ts
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
我的vue-cli插件如下
- vue-路由器
- vuex
Home.Vue
<template>
<div>
<img id='mainLogo' src='@/assets/logo.jpg'>
<form method="POST"></form>
<button type="submit"></button>
</div>
</template>
我将如何实现这个?
var chapterInfoModel = mongoose.model(`${req.params.novelId}`, RiChapterScheme);
let newChapterInfo = new chapterInfoModel(array);
newChapterInfo.save((err, book) => {
if (err) {
res.send({ error: err, affected: book });
} else if (!err) {
res.redirect('/novels/' + req.params.novelId);
}
});
进入我的 vue 路由器还是进入我的 Home.vue?
谢谢!
【问题讨论】:
-
不确定您要达到的目标。您想将图书对象发布到您的 express 服务器并将其保存在 mongoose 数据库中吗?
-
啊,不,我想从我的 cue 服务器发布到我的 mongodb :/ 因为它在 express 中的工作方式不同,因为我可以将 .post 发送到路由器,但因为我'当我按下按钮提交时,我对如何从 vue 内部发布感到困惑
-
嗯,好的。不可能直接这样做,因为 Vue 是一个客户端框架,所以它不能直接与数据库通信。 Vue 只能通过 HTTP 进行通信,因此您需要向您的 express 服务器发送一个 Post HTTP 请求。然后,您的 express 服务器可以直接向您的 mongoDB 发送命令并将数据保存到其中,有意义吗?
-
@MJ_Wales ahhh 感谢您消除我对 vue 的误解
-
谢谢!快乐编码:)
标签: typescript vue.js