快递请求中的多变量

时间:2012-04-04 10:57:37

标签: node.js express

我的快递服务器出了问题

app.get('/callback/:nation/:username/?:permalink', function(req, res)
            {
                nationurl = req.params.nation;
                username = req.params.username;
                storypermalink = req.params.permalink;


                console.log("nation: "+nation);
                console.log("username: "+username);
                console.log("permalink: "+permalink);
            });

由于 / ?: ,它会拆分用户名并且不会给我永久链接:

nation: poneyclub
username: j
permalink: hondoe

有人有想法吗?

1 个答案:

答案 0 :(得分:6)

这是因为?是Express路由算法中的特殊字符。有关详细信息,请参阅the documentation

当您键入URL Express时,将?个字符后的所有内容视为查询。它应该采用格式

?key1=value1&key2=value2&...&keyX=valueX

可以使用req.query检索它。

您可以在路线中使用自己的正则表达式更改此默认行为(有关详细信息,请再次参阅the documentation)。