Node.js 呼叫控制器';从expressjs中的另一个控制器执行的操作

Node.js 呼叫控制器';从expressjs中的另一个控制器执行的操作,node.js,express,sails.js,Node.js,Express,Sails.js,在我的expressjs/sailsjs应用程序中,我有两个控制器: - MainController only used to display the pages (for instance /signin route displays the signin page) - ProxyController that handles several action (API calls) 在ProxyController的一个操作中,我需要重定向到signin页面,我使用res.redirect

在我的expressjs/sailsjs应用程序中,我有两个控制器:

- MainController only used to display the pages (for instance /signin route displays the signin page)
- ProxyController that handles several action (API calls)
在ProxyController的一个操作中,我需要重定向到signin页面,我使用res.redirect('/signin'),但什么也没有发生

在我的路线中:

    '/signin' : {
       controller: 'main',
       action: 'signin'
    },

知道如何从ProxyController调用MainController的登录操作吗?

调用ProxyController的客户端知道如何处理HTTP重定向吗


我怀疑您正在使用AJAX调用来命中代理,如果是这种情况,那么您需要评估HTTP响应并执行重定向。浏览器会自动执行此操作,但AJAX调用则不然。

我有同样的问题-如何在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);
}

调用ProxyController的客户端是否知道如何处理HTTP重定向?我怀疑您正在使用AJAX调用来命中代理,如果是这种情况,那么您需要评估HTTP响应并执行重定向。浏览器会自动完成这项工作,但AJAX调用却不是这样。你说得对,我错过了一步!你能给我一个答复吗?