如何通过参数传递此var的值?

时间:2013-11-21 18:22:17

标签: javascript jquery node.js http express

在JQuery中:

initSliders(socket, '!{request}'); 

request是一个对象(Express.js Web应用程序中的HTTP请求对象),其中包含session等信息。当我把它传递给initSliders()时,它作为字符串文字“[object Object]”进入另一边。为什么?我不知道。它在传入之前就像一个对象,因为像这样的命令执行:

console.log('!{request.session.user}');
console.log('!{request.session.date}');
console.log('!{request.session.city}');

显示

之类的内容
Alfred
11/13/2013
Manitoba

如何在传递给函数时保持它的结构,以便我可以像上面那样引用它的属性?

request对象通过渲染,通过像这样的app.js处理程序进入(这就是我使用单引号和大括号的原因,这是我知道如何引用它的唯一方法)

exports.dashboard = function(req, res){
    res.render('dashboard', {request: req});
}

1 个答案:

答案 0 :(得分:0)

打印出[object Object],因为req.toString()会返回它。 res.render('dashboard', { request: JSON.stringify(req) })也没有多大意义,因为请求是特别庞大的对象,您可能并不真的希望将所有对象属性传递给渲染脚本。但是,您可以尝试...因此强烈建议仅按以下方式传递所需内容:

red.render('dashboard', { parameters : JSON.stringify({  param1 : req..., param2 : req.... and so on })