Как создать маршрут с несколькими параметрами?
Я использую платежную систему quickWallet, и она перенаправляет на следующий URL в моем приложении:
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= сбой &id=1009891&billnumbers=1480072195&checkum=2fcdb781a18f795459b3f388135419eeae02dda12da05e26fe8ce4e413e14ce4ce4ce4ce4ce
Что я делаю неправильно?
1 ответ
Решение
Определите путь без использования вопросительного знака, так как это только токен, который обозначает раздел запроса URL-адреса.
Как показывает первый пример FlowRouter:
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
}
});