2017-06-23 50 views
0

介绍节点Express和角度支柱作用

我有一个角度支柱,张贴到我的节点表达后端将数据发送到一个API,我想给用户发送到如果交一个不同的角度页如果不正确,则成功或显示错误消息。

我在想如果成功发布一个变量给我的角度,我可以在我的范围内使用ng-hide /显示或加载一个新的页面,如果变量存在。

但也许有更好的方式做到这一点的任何想法?

我的角度支柱

FirstModule.controller('LoginController', function ($scope, $http) { 
    $scope.formData = {}; 

    $scope.LoginForm = function() { 
     var data = { 
      LoginEmail: $scope.formData.LoginEmail 
     }; 

    $http({ 
     url: 'http://localhost:8080/back-end/test', 
     method: "POST", 
     data: data, 
     headers: {'Content-Type': 'application/json'} 
    }).success(function (data) { 
     $scope.formData = data; // assign $scope.persons here as promise is resolved here 
    }).error(function (data, status) { 
     $scope.formData = status; 
    }); 
} 
}); 

我的节点快递投递到API

这篇文章使用的电子邮件从我的角度发送和张贴到第三部分API,我知道的心愿为一个行动发生

  • 要么张贴到我的前面通过,以便我可以使用变量在ngular范围隐藏或显示一个新的页面
  • 更好的解决办法是,我可以用我的节点加载新的角度页面上通

{ 
 
      var headers = { 
 
       'User-Agent': 'Super Agent/0.0.1', 
 
       'Content-Type': 'application/x-www-form-urlencoded' 
 
      }; 
 
// Configure the request 
 
      var api = result[1].data_api; 
 
      var login_email = result[0].data_login_email; 
 
      var options = { 
 
       url: 'https://pi.pardot.com/api/prospect/version/4/do/read', 
 
       method: 'POST', 
 
       headers: headers, 
 
       form: { 
 
        'email': login_email, 
 
        'user_key': userkey, 
 
        'api_key': api 
 
       }, 
 
       json: true // Automatically stringifies the body to JSON 
 
      }; 
 

 
// Start the request 
 
      rp(options) 
 
       .then(function (parsedBody) { 
 
        console.error(login_email, "Is a user, login pass!"); 
 
        // $scope.FormLogin = true; 
 
       }) 
 
       .catch(function (err) { 
 
        console.error("fail no such user"); 
 
       }); 
 
      console.error("Third done"); 
 
     }

回答

0

一种更好的方式是发送来自API的响应代码告诉Angular请求是否成功。

如果你使用的表达,你可以这样做:

if (everythingOk) { 
    res.status(200).send(successData) 
} else { 
    res.status(400).send() 
} 

,并在您的角度要求:

 rp(options) 
       .then(function (parsedBody) { 
        if(parsedBody.statusCode == 200) { 
         console.error(login_email, "Is a user, login pass!"); 
        } else { 
         console.error("fail no such user"); 
         // $scope.FormLogin = true; 
        } 
       }) 
       .catch(function (err) { 
        console.error("unknown error"); 
       }); 
      console.error("Third done"); 
+0

不错,刚刚从午餐生病尝试返回并实现这一点,并让你知道。谢谢 – Beep