$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。