表单验证成功后警告未显示

时间:2017-07-06 18:38:56

标签: jquery ajax

我正在尝试获取控制台日志消息,如果我的验证通过,但在当前状态下它不会执行任何操作。所有验证错误都按预期显示,但如果没有错误,则不会显示成功控制台日志消息。

    $.ajax({
                url:'php/functions.php',
                type:'POST',
                dataType:'json',
                data: {name: name, email: email, venue: venue, guests: guests, comments: comments},
                })

            .done(function(data) {

                console.log(data);

                if(!data.success) {

                    $( "#submit" ).prop('disabled', false);

                    if(data.errors.name) {
                        $( "#error-name" ).empty().append(data.errors.name).fadeIn();
                    }

                    if(data.errors.email) {
                        $("#error-email").empty().append(data.errors.email).fadeIn();
                    }

                    if(data.errors.venue) {
                        $( "#error-venue" ).empty().append(data.errors.venue).fadeIn();
                    }

                    if(data.errors.guests) {
                        $( "#error-guests" ).empty().append(data.errors.guests).fadeIn();
                    }

                    if(data.errors.comments) {
                        $( "#error-comments" ).empty().append(data.errors.comments).fadeIn();
                    }

                } else {

                    alert("okay!");
                }
            })

            .fail(function(jqXHR, textStatus, errorThrown) {
                    console.log(textStatus + ': ' + errorThrown);
            });

1 个答案:

答案 0 :(得分:0)

正如你所说

  

$效应初探[ '成功']

应该是`

  

$响应[ '成功']

同样根据我们的聊天,您最终可能只使用errors数组执行相同的功能,而不是添加多个属性来验证相同的

如果你坚持你的代码 你可以使用

  

if(!data.success){现在就完成了

或者您可以使用

  

if(data.errors.length> 0){}

如果出现此类问题,请始终尝试使用console.log()来验证您的数据或代码是否正在执行。