【问题标题】:How do I pass the value of this var via the parameters?如何通过参数传递这个 var 的值?
【发布时间】:2013-11-21 18:22:17
【问题描述】:

在 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});
}

【问题讨论】:

  • 不确定我是否完全遵循,也许可以试试 initSliders(socket, JSON.stringify(request));
  • 那个不行,我试过了。函数请求内部看起来像这样:“[object Object]”。它不再是一个有属性的对象,它只是一个字符串,上面写着“[object Object]”。

标签: javascript jquery node.js http express


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2015-07-06
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多