在我的expressjs / sailsjs应用程序中,我有2个控制器:
- MainController only used to display the pages (for instance /signin route displays the signin page)
- ProxyController that handles several action (API calls)
在ProxyController的一个动作中,我需要重定向到登录页面,我使用res.redirect('/ signin'),但没有任何反应。
在我的路线中:
'/signin' : {
controller: 'main',
action: 'signin'
},
如何从ProxyController调用MainController的登录操作?
答案 0 :(得分:2)
调用ProxyController的客户端是否知道如何处理HTTP重定向?
我怀疑您正在使用AJAX调用来命中代理,如果是这种情况,那么您需要评估HTTP响应并执行重定向。浏览器会自动执行此操作,但AJAX不会这样做。
答案 1 :(得分:1)
我有同样的问题 - 如何从Express中的另一个控制器调用一个控制器。
我试过这个 - 代码在辅助控制器中,然后调用LoginCntrlr - 它就是这样做的:
var rootPath = '..';
var rendering = require(rootPath + '/util/rendering'),
loginController = require(rootPath + '/controllers/login');
exports.mySecondaryLogin = function(req, res) {
// access get params
console.log('user type param "ut" is : ' + req.query.ut);
// Set login params and send to check Login (a POST request)
req.body.un = 'user@acme_someplace.com';
req.body.pw = '@@@@';
return loginController.checkLogin(req, res);
}