app express.js中的全局函数

app express.js中的全局函数,express,Express,尝试在应用程序中使用可以在操作中调用的函数 放入app.locals不起作用: app.locals({ "form_tag" : helpers.form_tag, "text_field_tag":helpers.text_field_tag, sendHttpGs: function(req,res) { var querystring = require('querystring'); var data = querystring

尝试在应用程序中使用可以在操作中调用的函数

放入app.locals不起作用:

app.locals({ 
    "form_tag" : helpers.form_tag,
    "text_field_tag":helpers.text_field_tag,
    sendHttpGs: function(req,res) {
        var querystring = require('querystring');
        var data = querystring.stringify({
            idSong: req.params.idSong
        });

        var data = querystring.stringify({
            track: req.body.track
        });
        var options = {
            host: 'localhost',
            port: 8888,
            path: '/exo/playlists/searchIndex.php',
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'Content-Length': Buffer.byteLength(data)
            }
        };
        var reqSong = http.request(options, function(ret){
            ret.setEncoding('utf8');
            ret.on('data', function(chunk){
                req.session.search.push(JSON.stringify(chunk));
                res.render('search.ejs', {
                    tracks: chunk,
                    title: req.session.search
                });
            });
        });
        reqSong.write(data);
        reqSong.end();
    }
});
这部分用于将http post发送到获取登录和搜索功能的php文件

我应该把它放在哪里才能像这样使用它

.post('/loggedin', function(req,res){
    global.sendHttpGS(req,res);
})

您可以通过app.set()将函数附加到app对象,例如,在初始化代码中类似于以下内容:

app.set('sayHello', function(res) {
  return "hello";
});
然后在您的路线中,该功能将通过req.app.settings提供:

req.app.settings.sayHello(res);

谢谢你,你帮助我的德夫!