你好,我的 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/