2016-04-21 79 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'超出了范围 –