在下面的代码中需要一些帮助,我的第一部分有效,但我不确定如何让.fail
工作。
如果电子邮件错误,姓名或姓氏为空白,则会收到412 Precondition Failed with a response
{“email”:“电子邮件字段是必需的。”,“first_name”:“名字字段是必需的。”,“last_name”:“姓氏字段是必需的。”}
我需要在带有.errormessage
类的div中的页面上显示消息,但我无法正常工作
$('.bp_pop_holder').on('click', '#business_plus_form_add_submit', function() {
$.post('/business_plus/add_customer_design/', $('.bp_pop_holder form').serialize(),
function(data) {
$('.bp_pop_holder tbody').empty();
$.each(data, function(key, value) {
var row = $('<tr />').data('customer_id', value.customer_id)
.append($('<td />').addClass('current_email').text(value.email).width(170))
.append($('<td />').addClass('current_name').text(value.first_name + ' ' + value.last_name).width(140))
.append($('<td />').addClass('current_remove').html('<a href="javascript:void(0)" class="remove_person"></a>'));
$('.bp_pop_holder tbody').append(row);
})
}, 'json')
.fail(function() {
alert("error");
});
$('#business_plus_form_add').find("input[type=text], textarea").val("");
});
感谢您的帮助。
我去了这就是结束
.fail(function(data) {
var res = $.parseJSON(data.responseText);
$('.error_message').empty();
$.each(res, function (key,value) {
$('.error_message').append(value+"<br/>");
}
);
});
答案 0 :(得分:0)
根据jQuery docs,传递给.fail()
方法的函数需要许多参数,其中第一个是“jQuery XMLHttpRequest对象”,它是“浏览器本机的超集” XMLHttpRequest
对象“。您可以使用此对象查询HTTP请求的结果并获取所需的数据。例如:
.fail(function(jqXHR) {
var responseCode = jqXHR.status;
if(responseCode = 412) {
var validationResult = $.parseJSON(jqXHR.responseText);
// validationResult now contains:
// {
// "email" : "The Email field is required.",
// "first_name" : "The First name field is required.",
// "last_name" : "The Last name field is required."
// }
if('email' in validationResult) {
alert(validationResult.email);
}
}
});