由app.post触发的Express res.render [英] Express res.render triggered by app.post

查看:114
本文介绍了由app.post触发的Express res.render的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

表达应用程序生成器创建的存根中,我创建了一个名为test.

Within the stub created by express application generator, I've created a new view called test.

我无法使用以下方式调用test:

I am unable to invoke test using:

app.post('/test', function(req, res, next) {
    res.render('test');
});

这似乎令人惊讶,因为下面的app.get正在按预期方式呈现:

It seems surprising, because app.get below is getting rendered as expected:

app.get('/test', function(req, res, next) {
    res.render('test');
});

我进一步尝试了以下方法,但仍无法呈现该页面:

I have further tried the following, but it is still not rendering the page:

app.post('/test', function(req, res, next) {
    console.log('within app.post'); // this is getting logged
    res.redirect('/test');
});

请帮助.如何从post方法渲染test?

Please help. How can I render test from a post method ?

推荐答案

因此javascript代码可能存在问题.我将下面的代码添加到路由文件夹中的文件index.js中,并且模板正在呈现:

So probably there is problem with javascript code. I am add code below to file index.js in routes folder, and template is rendering:

router.get('/test', function(req, res, next) {
    res.render('index', {title: 'GET test'});
});

router.post('/test', function(req, res, next) {
    res.render('index', {title: 'POST test'});
});

尝试通过curl发送请求:

Try to send request via curl:

curl -v -XPOST http://localhost:3000/test

或使用chrome或firefox扩展程序进行请求.

Or use chrome or firefox extension to make request.

这篇关于由app.post触发的Express res.render的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆