req.body在307中获得两次重定向

时间:2018-06-27 08:56:30

标签: javascript node.js express ejs http-redirect

我的表单提交un express js应用程序时遇到了一个奇怪的问题。

用户提交表单时,某些数据会POST到达另一条路线并重定向到同一条路线。

查看

<form action="action" method="post">

<input type="submit" name="submit" value="submit">
</form>  

当用户提交action路线时会触发

const action = function action(req,res){

    //make a post request 
    requestify.request('http://localhost:3005/idg/webhook', {
        method: 'POST',
        body: {
            foo: 'bar',
            bar: 'foo'
        },
        headers: {
            'Content-type': 'application/json'
        },
        dataType: 'json'
    })
    .then(function(response) {

    });
    //redirect to the same route
     res.redirect(307,'http://localhost:3005/idg/webhook');

}

这是idg/webhook路线

const webhook = function webhook(req,res){
    console.log("body",req.body);
    res.send(req.body);
}

问题是我在req.body路线上遇到了两个idg/webhook

console.log("body",req.body)来自idg/webhook

body { foo: 'bar', bar: 'foo' }
body { submit: 'submit' }

如您所见,我能够得到两个req.body,为什么会这样呢?我只需要req.body{ foo: 'bar', bar: 'foo' }

1 个答案:

答案 0 :(得分:0)

从输入Submit中删除名称,更改如下:

<form action="action" method="post">
<button type="submit" >Submit</button>
</form>