2016-04-21 78 views
0

我有一個變量列表,用於檢查條件是否返回true或false。這項工作時打印到console.log,但現在我需要在玉模板中呈現此。我收到以下錯誤。我哪裏錯了?將多個變量從快遞傳遞到玉器

Cannot read property 'success' of undefined 

#firstlast #{info.success} 

JS

var fInitialUnderscoreLastName = fInitial + '_' + lastName + email; 
    verifier.verify(fInitialUnderscoreLastName, function(err, info){ 
    if(err) console.log(err); 
    else{ 
     var result = info.success; 
     console.log("Info: " + info.info); 
    } 
    }); 

    var firstNameUnderscoreLInitial = firstName + '_' + lInitial + email; 
    verifier.verify(firstNameUnderscoreLInitial, function(err, info){ 
    if(err) console.log(err); 
    else{ 
     var result = info.success; 
     console.log("Info: " + info.info); 
    } 
    }); 

    res.render('index', { 
    fInitialUnderscoreLastName: result 
    firstNameUnderscoreLInitial: result 

    }); 
+0

你忘了渲染視圖嗎? – QoP

+0

您必須使用變量渲染視圖。查看[express docs](http://expressjs.com/en/api.html#res.render) –

+0

我需要將多個變量傳遞迴視圖,但是當渲染時,「info.success」現在超出了範圍風景。我如何發送多個變量回到視圖?我更新了我的問題。 –

回答

1

你必須使這樣

res.render('yourView', { 
    "info": {"success": info.success, "info" : info.info}, 
    "variable2": "value", 
    "variable3" : "value" 
}); 

編輯觀點

var fInitialUnderscoreLastName = fInitial + '_' + lastName + email; 
var firstNameUnderscoreLInitial = firstName + '_' + lInitial + email; 
verifier.verify(fInitialUnderscoreLastName, function(err, info){ 
    if(err) console.log(err); 
    else{ 
     var resultA= info.success; 
     verifier.verify(firstNameUnderscoreLInitial, function(err, info){ 
     if(err) console.log(err); 
     else{ 
      var resultB = info.success; 
      console.log("Info: " + info.info); 
      res.render('index', { 
      "resultA": resultA, 
      "resultB": resultB 
      }); 
     } 
    }); 
    } 
    }); 
+0

謝謝@QoP,我怎麼會通過多個變量呢? –

+0

現在您在示例中有多個變量。等待我看看你的新編輯。 – QoP

+0

我現在面臨的問題是'var results'超出了範圍 –