Javascript 节点表示和角度后置动作

Javascript 节点表示和角度后置动作,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,导言 我有一个angular post,发布到我的node express后端,将数据发送到API,如果发布成功,我希望将用户发送到另一个angular页面,如果发布不正确,则显示错误消息 我在想,如果成功地将一个变量发布到我的angular中,我可以在我的作用域中使用它来隐藏/显示或加载一个新页面(如果变量存在) 但也许有更好的方法,你知道吗 我有棱角的帖子 FirstModule.controller('LoginController', function ($scope, $http) {

导言

我有一个angular post,发布到我的node express后端,将数据发送到API,如果发布成功,我希望将用户发送到另一个angular页面,如果发布不正确,则显示错误消息

我在想,如果成功地将一个变量发布到我的angular中,我可以在我的作用域中使用它来隐藏/显示或加载一个新页面(如果变量存在)

但也许有更好的方法,你知道吗

我有棱角的帖子

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;
    });
}
});
My node express post到API

这篇文章使用我的angular发送的电子邮件,并将其发布到第三方API,我知道我希望有一个动作发生

  • 或者在过程中发布到我的前面,以便我可以使用角度范围中的变量隐藏或显示新页面
  • 更好的解决方案是,我可以加载新的角度页面,并将节点放在pass上
{
变量头={
“用户代理”:“超级代理/0.0.1”,
“内容类型”:“应用程序/x-www-form-urlencoded”
};
//配置请求
var api=结果[1]。数据\u api;
var login\u email=结果[0]。数据\u login\u email;
变量选项={
网址:'https://pi.pardot.com/api/prospect/version/4/do/read',
方法:“POST”,
标题:标题,
表格:{
“电子邮件”:登录\u电子邮件,
“用户密钥”:用户密钥,
“api_键”:api
},
json:true//自动将主体字符串化为json
};
//启动请求
rp(选项)
.then(函数(parsedBody){
错误(登录电子邮件,“是用户,登录通过!”);
//$scope.FormLogin=true;
})
.catch(函数(err){
控制台错误(“没有这样的用户失败”);
});
控制台。错误(“第三次完成”);

}
更好的方法是从API发送响应代码,告知Angular请求是否成功

如果您使用的是express,您可以执行以下操作:

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");

很好,刚吃过午饭回来,我会尝试实施,并让你知道。谢谢