将JavaScript属性传递给变量 - Node / Express

时间:2015-11-21 01:28:27

标签: javascript node.js express

我觉得自己犯了一个愚蠢的错误,但是我很痛苦地知道要搜索什么""综合征。

我有一个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换成静态电子邮件地址,它就可以了。随着变量,没有。帮助

1 个答案:

答案 0 :(得分:0)

信用转到Mariano Iglesias。返回的对象是一个数组。 userInfo [0] .email正确地将电子邮件传递回API。