如何创建具有多个参数的路由?

时间:2016-11-25 12:12:18

标签: javascript meteor flow-router

我正在使用名为quickWallet的付款系统,它正在重定向到我的应用上的以下网址:

http://localhost:3000/payment-response?status=failed&id=1009891&billnumbers=1480072195&checksum=2fcdb781a18f795459b3f388135419eeae02dda12da05e2613eae8ce4f16e514

如何使用FlowRouter处理它?

这是我目前的路线定义:

FlowRouter.route('/payment-response?',{

    name:'payment Response Received',
    action(){ 
        BlazeLayout.render('paymentResponse');

    }
});

我在我的控制台中关注:

  

kadira_flow-router.js?hash = 9cd2691 ...:519路径没有路由:/ payment-response?status = failed& id = 1009891& billnumbers = 1480072195& checksum = 2fcdb781a18f795459b3f388135419eeae02dda12da05e2613eae8ce4f16e514

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在不使用问号的情况下定义路径,因为它只是表示URL的查询部分的标记。

正如FlowRouter的first example所示:

FlowRouter.route('/blog/:postId', {
    action: function(params, queryParams) {
        console.log("Yeah! We are on the post:", params.postId);
    }
});

查询参数可用作action()方法的第二个参数。

因此,代码应该是这样的:

FlowRouter.route('/payment-response',{
    name: 'paymentResponseReceived',
    action(_params, queryParams){
        // render your layout with the queryParams
    }
});