0

下面的代码需要一些帮助,我的第一部分正在工作,但我不确定如何开始.fail工作。

如果电子邮件错误,姓名或姓氏空白,您会收到 412 Precondition Failed with a response

{"email":"Email 字段是必需的。","first_name":"First name 字段是必需的。","last_name":"Last name 字段是必需的。"}

我需要在带有类的 div 内的页面上显示消息.errormessage,但我无法使其正常工作

 $('.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/>");
                        }
                    ); 
                });
4

1 回答 1

0

根据jQuery 文档,您传递给该.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);
        }
    }
});
于 2013-09-10T10:30:57.857 回答