使用jQuery ajax时,如何向用户显示JSON HTTP 422响应?

使用jQuery ajax时,如何向用户显示JSON HTTP 422响应?,jquery,ajax,json,Jquery,Ajax,Json,您好,我的json出现了一个奇怪的问题,我试图返回错误消息并显示在我的页面上,我在网上找到了很多解决方案,但根据我的尝试,我不断得到“未定义”或“null”或什么都没有,这是我的javascript: $.ajax({ type: "POST", url: "/auth/register", headers : { 'X-XSRF-Toke

您好,我的json出现了一个奇怪的问题,我试图返回错误消息并显示在我的页面上,我在网上找到了很多解决方案,但根据我的尝试,我不断得到“未定义”或“null”或什么都没有,这是我的javascript:

           $.ajax({
                type: "POST",
                url: "/auth/register",
                headers : {
                    'X-XSRF-Token': $("meta[name='csrf_token']").attr("content")
                },
                data: {
                    email: $scope.d.email,
                    password: $scope.d.password,
                    password_confirmation: $scope.d.password_confirmation
                },
                dataType: 'json',
                success: function(data) {
                    //
                },
                error: function(data) {
                    $scope.d.errors = data.responseJSON;
                    alert($scope.d.errors);

                }
            });
这是返回的内容:

{"name":["The name field is required."]}

如果返回的是
422
,那么jQuery将调用失败/错误回调。错误/失败回调的签名为:

函数(jqXHR、jqXHR、String textStatus、String errorshown)

如果jQuery没有为您解析响应,那么如果您想访问它,您需要自己手动执行,使错误回调看起来像:

function(xhr, status, err) {
    var responseJSON = JSON.parse(xhr.responseText);
    $scope.d.errors = responseJSON;
    alert($scope.d.errors);
    // do stuff with your error messages presumably...
}

我的错误。我误解了你的问题。我编辑了你的问题标题,以包含更清晰的问题陈述。哦,对不起,谢谢。