Sails.js перенаправление с помощью параметра

#javascript #node.js #routes #sails.js

#javascript #node.js #маршруты #sails.js

Вопрос:

каков наилучший способ перенаправления внутри Sails.js Контроллер переходит с одного маршрута на другой и одновременно передает некоторые данные. Моя ситуация такова, что у меня есть один маршрут, который создает некоторые данные и перенаправляет обратно на другой маршрут. Моя проблема в том, что я не знаю, как передать сообщение об ошибке (если таковое произойдет) обратно на другой маршрут (потому что я хочу отобразить его там).

Бруно

Комментарии:

1. Не уверен, что это можно сделать. На этом этапе я бы перенес часть вашей логики контроллера в службу, чтобы вы могли использовать один и тот же код в обоих маршрутах.

2. Можете ли вы привести пример? Вам нужен второй маршрут или он просто для отображения сообщений об ошибках? Я бы, вероятно, передал сообщение об ошибке (или идентификатор кода ошибки) в URL-адресе в качестве параметра GET или использовал флэш-сообщения .

3. Второй реализует некоторую логику, и только в случае возникновения ошибки я хочу передать ее первому маршруту… В противном случае я просто использую res.redirect

Ответ №1:

Моя проблема в том, что я не знаю, как передать сообщение об ошибке (если таковое произойдет) обратно на другой маршрут (потому что я хочу отобразить его там).

Sails@v0.12 включает промежуточное программное обеспечение flash в виде https://github.com/jaredhanson/connect-flash:

 req.flash('error', payload);
res.redirect(307, '/');
return;
 

Чтобы получить ошибку в другом контроллере:

 var error = req.flash('error');
 

Комментарии:

1. выглядит неплохо … Я попробую это позже… но уже спасибо