Node.js 呼叫控制器';从expressjs中的另一个控制器执行的操作
在我的expressjs/sailsjs应用程序中,我有两个控制器: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
- 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调用却不是这样。你说得对,我错过了一步!你能给我一个答复吗?