2013-11-21 24 views
0

jQuery中:如何通過參數傳遞此var的值?

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

request是一個對象(在Express.js web應用程序的HTTP請求對象),其具有這樣的信息作爲我session。當我將它傳遞給initSliders()時,它作爲字符串文字「[object Object]」進入另一端。爲什麼?我不知道。它的行爲像一個對象時,它傳遞的,因爲像這樣的命令執行前:像

Alfred 
11/13/2013 
Manitoba 

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

顯示事情,我怎樣才能保持它的結構被傳遞給函數的時候,所以我可以引用它的屬性像上面那些?

request對象即將通過渲染,通過這樣一個app.js處理程序(這就是爲什麼我用它周圍的單引號和大括號,這是我知道如何引用這唯一的方法)

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

不知道我完全跟隨,也許嘗試initSliders(插座,JSON.stringify(要求)); –

+0

這不行,我試了一下。函數請求內部看起來像這樣:「[object Object]」。它不再是一個帶有屬性的對象,它只是一個表示「[object Object]」的字符串。 – gjw80

回答

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