var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.post('/', function(req, res, next){
res.send("post works");
});
module.exports = router;
这是我的index.js文件。 我用express创建了一个应用程序,添加了自己的jade文件,其中包含一个表单。 我可以定义这样的发布方法吗?我是node.js的新手,所以真的不了解它的工作原理吗?
我想补充一点,我正在尝试将数据保存到mongodb实例。
更新:18/11/26
我得到下面给出的答案后得到了解决方案, 我正在添加GitHub链接。
我已将工作文件添加到其中。
答案 0 :(得分:0)
下面是一个示例html登录表单,要使发布路由正常工作,必须确保定义method =“ POST”和action =“ /(Insert Route)”。在我的示例action =“ / login”中,这意味着将有一个发帖请求发送到/ login。如果我有一个接受所有/ login请求的路由器设置,它将被重定向到那里,并且router.post('/')将正常工作。
def remote_connection(self):
stdin, stdout, stderr = self.ssh.exec_command('python main_script.py', get_pty=True)
while not self.kill_switch.is_set():
for line in iter(lambda: stdout.readline(), ""):
self.data.put(line)
break
self.ssh.exec_command('\x003', get_pty=True)
答案 1 :(得分:0)
在网上搜索澄清后,两个答案都帮助了我。我试图从我的路线发出POST请求,但我使用了变量“ router”。我忽略的是在其中添加函数名称。我的html表单试图提交给功能“ / login”,而我的路由器没有定义该功能。
router.post('/login', function(req,res, next){
}
做到了。 感谢所有尝试提供帮助的人。