Angularjs 爱奥尼亚:即使承诺是错误的';决定
我正在构建我的第一个ionic应用程序,我的一个承诺有问题 应用程序与REST api对话以登录和注册,登录部分工作,但对于注册部分,每次我填写表单并提交时,我都会收到错误消息,即使用户已创建(我可以在api的数据库中看到他),我也不明白为什么,即使承诺已得到解决,我仍然会收到错误消息 controller.js代码:Angularjs 爱奥尼亚:即使承诺是错误的';决定,angularjs,rest,api,ionic-framework,promise,Angularjs,Rest,Api,Ionic Framework,Promise,我正在构建我的第一个ionic应用程序,我的一个承诺有问题 应用程序与REST api对话以登录和注册,登录部分工作,但对于注册部分,每次我填写表单并提交时,我都会收到错误消息,即使用户已创建(我可以在api的数据库中看到他),我也不明白为什么,即使承诺已得到解决,我仍然会收到错误消息 controller.js代码: wannaPlay.controller('RegisterCtrl', function($scope, AuthService, $ionicPopup, $state) {
wannaPlay.controller('RegisterCtrl', function($scope, AuthService, $ionicPopup, $state) {
$scope.player = {
firstName: '',
lastName: '',
password: '',
email: ''
};
$scope.signup = function() {
AuthService.register($scope.player).then(function(msg) {
$state.go('outside.login');
var alertPopup = $ionicPopup.alert({
title: 'Enregistrement effectué !',
template: msg
});
}, function(errMsg) {
var alertPopup = $ionicPopup.alert({
title: 'Erreur lors de l\'enregistrement !',
template: errMsg
});
});
};
})
services.js代码:
var register = function(player) {
return $q(function(resolve, reject) {
$http.post(API_ENDPOINT.url + '/playersignup', player).then(function(result) {
if (result.data.succes) {
resolve(result.data.msg);
} else {
reject(result.data.msg);
}
});
});
};
RESTAPI是否真的返回了一个名为“success”的布尔值,而不是“success” 也许就是那个打字错误。否则,您应该考虑使用LogMeor或断点来查看您从后端接收到的内容如下:
console.log(result);
if (result.data.succes) {
console.log("success");
resolve(result.data.msg);
} else {
console.log("error");
reject(result.data.msg);
}
您是否检查了http请求和响应?可能是result.data.succes为false,还是未定义?您的services.js代码是stackoverflow.com/questions/23803743/what-is-the-explicit-promise-construction-antipattern-and-how-do-i-avoid-it@LowFlyingPelican谢谢,这是假的,“成功”没有定义,这是“成功”@BenjaminGruenbaum谢谢,我来读一下,始终学习更好的编码实践。