如何将验证响应发送到PHP控制器而不是Ajax

时间:2019-08-11 07:32:08

标签: javascript php jquery

我正在使用jQuery验证程序来测试phone字段,但是当我尝试发送表单以尝试执行ajax时,我希望它在控制器上运行一个函数

$("#form-profile-information").validate({
        rules: {            
            tel: {
                minlength: 10,
                maxlength: 10,
                number:true,
                phoneStartingWith6: true

            },
        },
            messages: {
                
            tel: "This is not a valid phone number",
        }
    });

if ($('#form-profile-information').valid()) {
    $('#form-profile-information').submit();
}

我也在使用ajax的另一种形式使用此功能

$.validator.setDefaults({submitHandler: function() {
        $('#signup-form .alert-danger').addClass('hidden');        
        params = $('#signup-form').serializeArray();
        ajax('post', params, function(data) {
            if(data) {
                $('#signup-form').slideUp();
                $('#email-signup').text(data.emailValue);
                return;
            }
        }, function(data){
            $('#signup-form .alert-danger p').text(data);
        });      
    }
});

当我使用它时,我会执行Ajax.php并在网络中出现此错误:no-referrer-when-downgrade

1 个答案:

答案 0 :(得分:0)

问题解决了,

我必须在验证者之前在ID上添加一个条件

if($("#form-profile-information").length>0) {
    $.validator.setDefaults({submitHandler: function() {
       $('#signup-form .alert-danger').addClass('hidden');
       params = $('#signup-form').serializeArray();
       ajax('post', params, function(data) {
         if(data) {
           $('#signup-form').slideUp();
           $('#email-signup').text(data.emailValue);
           return;
         }
       }, 
       function(data){
         $('#signup-form .alert-danger p').text(data);
       });
    }
});