简介
我有一个有角度的帖子,发布到我的节点快递后端,将数据发送到API,如果发布成功,我希望将用户发送到不同的角度页面,如果不正确则显示错误消息。
我在想如果成功将变量发布到我的角度,我可以在我的范围内使用ng-hide / show或加载新页面,如果变量存在。
但也许有更好的方法可以做到这一点吗?
我的角色帖子
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;
});
}
});
我的节点向A API发布帖子
这篇文章使用我的角度发送的电子邮件并将其发布到第三部分API,我知道希望采取行动
{
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 :(得分: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");