angularjs - 当 data = false 但状态码返回 200 时解析 $http 承诺对象
问题描述
我有一个$http service
检查用户是否存在于数据库中。问题是即使用户不存在并且data = false
,状态码仍然返回 200
videoStoreApp.factory('UserApi', function($http){
var myService = {};
myService.login = function(username,password){
return $http({
method: 'GET',
url: 'app/services/user/getUser.php',
params: {username: username,
password: password}
}).then(function(data){
var obj = {
complete: true,
data: data.data
};
if(obj.data === false)
{
return false;
}
return obj;
});
};
return myService;
下面是我的 loginModal 服务代码。如果用户登录失败,我想阻止转换的发生。
videoStoreApp.service('loginModal', function ($uibModal, $rootScope)
{
function assignCurrentUser (user) {
$rootScope.currentUser = user;
return user;
}
return function() {
var instance = $uibModal.open({
templateUrl: 'app/views/loginModalTemplate.html',
controller: 'LoginModalCtrl',
controllerAs: 'LoginModalCtrl'
});
return instance.result.then(assignCurrentUser);
};
});
解决方案
推荐阅读
- google-sheets - 谷歌工作表查询从不同的电子表格中选择列
- android - Android_Ntlm - 传递域名的问题
- node.js - npm 命令不起作用错误:(节点:30656)UnhandledPromiseRejectionWarning:未处理的承诺拒绝
- typescript - 如何模拟 Auth.currentSession()?
- javascript - 使用相同的输入字段计算基于加价的价格和基于价格的加价
- python - 如何将 set_clip_path() 与多个多边形一起使用?
- visual-studio-code - 如何禁用 VSCode autopep8 将长行代码移动到新行?
- google-apps-script - 从电子表格自动填充现有的 Google 文档文件
- django - 无法将 django 连接到在 docker 容器内运行的 postgres
- sql - 如何计算每个州的基尼系数(例如外部来源)?