我使用 AngularJS 作为我的框架,还连接到 web 服务来获取一些 JSON 数据。我有以下代码:
$login.onlineLogin($scope.credentials).
success(function (data, status, headers, config) {
if (data !== null ) {
console.log('Successful Login!');
console.log('Returned data: ' + data);
} else {
console.log('Failed to Login...');
}
}).
error(function (data, status, headers, config) {
console.log('HTTP Error...');
});
现在,当 HTTP 调用返回时,状态仍可能为 200:OK,但它返回的对象可能为空,例如在用户提供错误用户凭据的情况下。所以我期望在这种情况下发生的是,如果对象不为空,它将打印出“成功登录!” 然后打印出对象。
但是,现在发生的事情是我使用了一些假凭据,因此 web 服务返回 null。但仍然是“成功登录!” 被打印,然后在打印“返回的数据:null”之后......这没有意义。如果数据为空,它甚至不应该出现在那个代码块中?