我觉得自己犯了一个愚蠢的错误,但是我很痛苦地知道要搜索什么""综合征。
我有一个Node / Express应用程序,我试图调用mySQL数据库并返回用户信息。然后,我尝试将用户电子邮件传递给Infusionsoft API。
我可以成功传递静态电子邮件,但该过程有效,但当我尝试将值保存到变量时,它会停止工作。
以下是代码:
路线:
router.get('/subscribers/:id', function(req, res, next) {
var userID = req.params.id;
subscriber.subscriberIndividual(userID, function(err, userInfo){
var userEmail = userInfo.Email;
if (err) {
console.log(err);
return;
}
billing.infusionsoftDetails(userEmail, function(err, userBilling){
if (err) {
console.log(err);
return;
}
console.log(userInfo);
console.log(userBilling);
res.render('subscribers/edit', {
'userInfo' : userInfo,
'userBilling' : userBilling
});
});
});
控制器:
infusionsoftDetails: function(userEmail, cb)
{
infusionsoft.subscriberDetails(userEmail).then(function(rows){
cb(null, rows);
})
.catch(function(err)
{
cb(err);
});
}
}
型号:
subscriberDetails: function(userEmail)
{
return infusionAPI.RecurringOrderWithContacts
.where(
RecurringOrderWithContact.Email, userEmail)
.select(
RecurringOrderWithContact.ContactId,
RecurringOrderWithContact.Email,
RecurringOrderWithContact.FirstName,
RecurringOrderWithContact.LastName,
RecurringOrderWithContact.Phone1,
RecurringOrderWithContact.Status,
RecurringOrderWithContact.PaidThruDate,
RecurringOrderWithContact.NextBillDate,
RecurringOrderWithContact.BillingAmt,
RecurringOrderWithContact.StartDate,
RecurringOrderWithContact.EndDate
)
.take(1)
.toArray()
.then()
}
};
同样,如果我将.where调用中的userEmail换成静态电子邮件地址,它就可以了。随着变量,没有。帮助