如何在路由POST上获取/:id?

时间:2017-03-06 21:45:32

标签: node.js express

https://github.com/AEkman/Quiz/blob/master/app.js

我试图获取/:id并将其保存到名为quizId的变量中。我使用此链接制作路线POST:

这是我的POST功能

app.post('/takequiz/:id', function(req, res) {
    var quizId = req.body.id;
    console.log(quizId);

为什么我才得到

  

'未定义'

作为答案?这可以在我使用GET时使用吗?我已尝试过params并查询,但没有运气。

2 个答案:

答案 0 :(得分:1)

因为它不是身体的一部分,而是网址的一部分。

尝试使用req.params.id代替req.body.id,一切都应该没问题。

答案 1 :(得分:-1)

您可以使用带有jquery的ajax将数据发送到api rest的post函数。

// data
var takequiz1={id:4, message:"Hello Word"};

// Use AJAX to post the object

    $.ajax({
        type: 'POST',
        data: takequiz1,
        url: 'http://localhost:3000/takequiz/',
        dataType: 'JSON'
    }).done(function( response ) {

    });

//POST FUNCTION API NODE JS
router.post('/takequiz',function(req,res,next){
       var id= req.body.id;
       var message = req.body.message;
});