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

标签 jquery ajax json

你好,我的 json 遇到了这个奇怪的问题,我正在尝试返回错误消息并显示在我的页面上,我已经尝试了很多我在网上找到的解决方案,但我不断收到“未定义”或“空”或完全取决于我的尝试,这是我的 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,字符串textStatus,字符串errorThrown)

如果出现错误 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...
}

关于jquery - 使用 jQuery ajax 时如何向用户显示 JSON HTTP 422 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066120/

相关文章:

jquery - 为什么 jQuery 似乎不鼓励使用常规 OOP?

javascript - 如何使用键盘方向键分别向左/向右移动一个div 100px

javascript - 删除 Dropzone.js 和 PHP 不起作用的脚本

javascript - 在 onpaste 事件中发出 ajax 请求时访问被拒绝

json - Go 处理 JSON 响应和请求

javascript - 防止用户使用 jquery 或 javascript 重新加载页面

jquery - 使用 tooltipster 动态更改工具提示标题中的一个元素

javascript - 关于AJAX,需要点击提交按钮两次

javascript - 替换 JSON 中的嵌套字符串

c# - Web API 身份验证响应属性