gpt4 book ai didi

javascript - res.render不显示数据

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:43 24 4
gpt4 key购买 nike

我有一个函数可以以不同的格式构建电子邮件地址并检查其有效性。一切都在服务器端运行,但是我很难在 Jade 模板中显示结果。一切看起来都是正确的,所以我不确定出了什么问题..

Jade

  #firstLast !{resultA}
#firstDotLast !{resultB}
#fInitialLastName !{resultC}
#fInitialDotLastName !{resultD}
#firstNameLInitial !{resultE}
#firstNameDotLInitial !{resultF}
#firstNameOnly !{resultG}
#lastNameOnly !{resultH}
#firstNameUnderscoreLastName !{resultI}
#fInitialUnderscoreLastName !{resultJ}
#firstNameUnderscoreLInitial !{resultK}

Express(提前对这个嵌套的噩梦表示抱歉。除了底部的 res.render 之外,一切正常)

app.get('/verify', function (req, res) {
var firstName = req.query.firstName;
var lastName = req.query.lastName;
var email = req.query.email;

var fInitial = firstName.charAt(0);
var lInitial = lastName.charAt(0);


var firstLast = firstName + lastName + email;
var firstDotLast = firstName + '.' + lastName + email;
var fInitialLastName = fInitial + lastName + email;
var fInitialDotLastName = fInitial + '.' + lastName + email;
var firstNameLInitial = firstName + lInitial + email;
var firstNameDotLInitial = firstName + '.' + lInitial + email;
var firstNameOnly = firstName + email;
var lastNameOnly = lastName + email;
var firstNameUnderscoreLastName = firstName + '_' + lastName + email;
var fInitialUnderscoreLastName = fInitial + '_' + lastName + email;
var firstNameUnderscoreLInitial = firstName + '_' + lInitial + email;

//console.log(fInitial + ' ' + lInitial)

//console.log(firstLast);

verifier.verify(firstLast, function( err, info ){
if( err ) console.log(err);
else{
var resultA = firstLast + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstDotLast, function( err, info ){
if( err ) console.log(err);
else{
var resultB = firstDotLast + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(fInitialLastName, function( err, info ){
if( err ) console.log(err);
else{
var resultC = fInitialLastName + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(fInitialDotLastName, function( err, info ){
if( err ) console.log(err);
else{
var resultD = fInitialDotLastName + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstNameLInitial, function( err, info ){
if( err ) console.log(err);
else{
var resultE = firstNameLInitial + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstNameDotLInitial, function( err, info ){
if( err ) console.log(err);
else{
var resultF = firstNameDotLInitial + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstNameOnly, function( err, info ){
if( err ) console.log(err);
else{
var resultG = firstNameOnly + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(lastNameOnly, function( err, info ){
if( err ) console.log(err);
else{
var resultH = lastNameOnly + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstNameUnderscoreLastName, function( err, info ){
if( err ) console.log(err);
else{
var resultI = firstNameUnderscoreLastName + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(fInitialUnderscoreLastName, function( err, info ){
if( err ) console.log(err);
else{
var resultJ = fInitialUnderscoreLastName + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

verifier.verify(firstNameUnderscoreLInitial, function( err, info ){
if( err ) console.log(err);
else{
var resultK = firstNameUnderscoreLInitial + ':' + ' ' + info.success;
console.log( "Info: " + info.info );

return res.render('index', {
"resultA": resultA,
"resultB": resultB,
"resultC": resultC,
"resultD": resultD,
"resultE": resultE,
"resultF": resultF,
"resultG": resultG,
"resultH": resultH,
"resultI": resultI,
"resultJ": resultJ,
"resultK": resultK
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
}
});
});

客户端 JS

$('#verify').click(function() {
var parameters = {
firstName: $('#firstName').val(),
lastName: $('#lastName').val(),
email: $('#email').val() };
$.get('/verify', parameters, function(data) {
console.log('hey' + parameters);
});
});

预期的行为是每个电子邮件地址将返回 true 或 false 并在每个相应的 div 中显示结果

最佳答案

问题出在客户端的 GET 请求中,我还没有写完。从那里我意识到我使用的是 res.render 而不是 res.send ,它返回整个模板而不是我需要的对象。

完成并工作的代码:

$('#verify').click(function() {
var parameters = {
firstName: $('#firstName').val(),
lastName: $('#lastName').val(),
email: $('#email').val() };
$.get('/verify', parameters, function(data) {
console.log(data.resultA); //Returns full body of HTML
$('#firstLast').html(data.resultA);
$('#firstDotLast').html(data.resultB);
$('#fInitialLastName').html(data.resultC);
$('#fInitialDotLastName').html(data.resultD);
$('#firstNameLInitial').html(data.resultE);
$('#firstNameDotLInitial').html(data.resultF);
$('#firstNameOnly').html(data.resultG);
$('#lastNameOnly').html(data.resultH);
$('#firstNameUnderscoreLastName').html(data.resultI);
$('#fInitialUnderscoreLastName').html(data.resultJ);
$('#firstNameUnderscoreLInitial').html(data.resultK);
});
});

关于javascript - res.render不显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36772582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com