express 中收到get请求如何根据参数进行路由处理?

在提交表单之前,先进行两次请求响应操作

想要实现的效果如下

app.all/form,functuonreq,res,next{ ifreq.query.key1{ res.redirect/form/getkey1; } ifreq.query.key2{ res.redirect/form/getkey2; } ifreq.query.key3{ res.redirect/form/getkey3; }
};

但是实验过程中,第一个可以成功重定向,第二个就不能重定向,请大神指教,不胜感谢。

好像是因为res.redirect只能使用一次,你请求一次服务器返回也应该是一次,而不是多次

  1. 路由参数用:param, 例如:路由写成”/form/:key”, 你就可以通过req.params.key获得路由参数了。我不知道你为什么要这样写。

  2. 关于res.end、res.redirect、res.render等 最好写成return式,不然可能会造成res重复返回,具体如下:

    app.all/form,functuonreq,res,next{ ifreq.query.key1{ return res.redirect/form/getkey1; } ifreq.query.key2{ return res.redirect/form/getkey2; } ifreq.query.key3{ return res.redirect/form/getkey3; }
    };

关于你的bug, ifreq.query.key1表示key1不为转义falsenull、undefined、false、0的时候执行if内的语句,那么请问,你的key1会为转义false吗?如果永远不会,那就永远会执行第一个if。对你代码的理解是有三个key,key1、key2、key3会被提交,那key1就永远不为false。 说白了,不理解你这样写的原因… 你可以再补充下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注