首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Node.js Express -模板的条件呈现

Node.js Express -模板的条件呈现
EN

Stack Overflow用户
提问于 2016-08-22 18:11:08
回答 2查看 1.7K关注 0票数 0

我正在使用Express和无密码模块来设置无密码身份验证。一切正常,gte,但我被困在一个问题上。

作为交付方法的一部分,我使用外部api将sms发送给用户。如果sms发送正确,则一切正常。但是,如果sms发送失败,仍然没有错误,但是api调用的响应告诉我sms wa失败。如果失败,api响应将如下所示:

{警告:{消息:‘发送消息失败’,编号:'91545454‘},错误:{代码: 51,消息:’未指定有效号码‘},状态:’失败‘}

现在,在我的node/express应用程序中,如果api响应的status = failure,我想将它们发送到另一个页面,在那里我将告诉用户sms失败。

我的代码如下所示:

代码语言:javascript
复制
passwordless.addDelivery(
    function(tokenToSend, uidToSend, recipient, callback) {

    var smscall = 'MY API CALL URL;
    needle.get(smscall, function(error, response) {
      if(error) {
          console.log(error);
      }
      if (!error && response.statusCode == 200) {
        console.log(response.body);
      }
      if(response.body.status == 'failure') {
        console.log('Failed');
        THIS IS WHERE I WOULD LIKE TO REDIRECT USER TO A DIFFERENT TEMPLATE OR RENDER A MESSAGE.
      }
      callback(error);
    });
});

requestToken代码如下所示:

代码语言:javascript
复制
router.post('/', passwordless.requestToken(function(user, delivery, callback) {
    callback(null, user);
    }, { failureRedirect: '/error' }),
    function (req, res) {
        res.render('verify', { uid: req.passwordless.uidToAuth });
    }
);
EN

Stack Overflow用户

发布于 2016-08-22 20:19:56

只需调用res.render,检查失败的短信状态:

passwordless.addDelivery( function(tokenToSend,uidToSend,recipient,callback) {

代码语言:javascript
复制
var smscall = 'MY API CALL URL;
needle.get(smscall, function(error, response) {
  if(error) {
      console.log(error);
  }
  if (!error && response.statusCode == 200) {
    console.log(response.body);
  }
  if(response.body.status == 'failure') {
    console.log('Failed');
    return res.render('smsFailPage');
  }
  callback(error);
});

});

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39076790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档