使用jQuery ajax时,如何向用户显示JSON HTTP 422响应?
您好,我的json出现了一个奇怪的问题,我试图返回错误消息并显示在我的页面上,我在网上找到了很多解决方案,但根据我的尝试,我不断得到“未定义”或“null”或什么都没有,这是我的javascript:使用jQuery ajax时,如何向用户显示JSON HTTP 422响应?,jquery,ajax,json,Jquery,Ajax,Json,您好,我的json出现了一个奇怪的问题,我试图返回错误消息并显示在我的页面上,我在网上找到了很多解决方案,但根据我的尝试,我不断得到“未定义”或“null”或什么都没有,这是我的javascript: $.ajax({ type: "POST", url: "/auth/register", headers : { 'X-XSRF-Toke
$.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...
}
我的错误。我误解了你的问题。我编辑了你的问题标题,以包含更清晰的问题陈述。哦,对不起,谢谢。