这是整个$http
实现的代码:
$http({
url: jsurl('profile.login'),
method: 'POST',
data: $.param({
username: $scope.username,
password: $scope.password,
csrfmiddlewaretoken: $.cookie('csrftoken')
}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).
success(function (data) {
$scope.success = true;
}).
error(function (data) {
$scope.success = false;
$scope.errors = data.errors;
});
问题是data
in$http.error
是一个字符串,尽管返回了以下响应:
Content-Type:application/json; charset=UTF-8
Body: {"errors":{"username":{"messages":[["Pleaseenteryourusername."]]},"password":{"messages":[["Pleaseenterpassword."]]}},"success":false}
在 jQuery 中,我通常会使用$.parseJSON()
,但是我一直听说我不应该在 Angular 代码中使用 jQuery 代码(我还不明白为什么会这样),所以我想知道是否有更 Angular 规范的方法来解析错误响应JSON。