Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未捕获的TypeError:使用$.ajax进行非法调用_Jquery_Ajax_Forms_Submit_Ajaxform - Fatal编程技术网

Jquery 未捕获的TypeError:使用$.ajax进行非法调用

Jquery 未捕获的TypeError:使用$.ajax进行非法调用,jquery,ajax,forms,submit,ajaxform,Jquery,Ajax,Forms,Submit,Ajaxform,我知道这个问题被问了很多次,但我在这个问题上已经穷途末路了,我试图弄清楚为什么会发生这种错误,并理解为什么会发生这种错误 我有一个表单应该使用ajax提交,但每当我尝试使用ajax时,总是会遇到非法调用错误。这是对现有代码的修改 var Login = function () { var handleLogin = function() { $('.login-form').validate({ ...other functions here to do with

我知道这个问题被问了很多次,但我在这个问题上已经穷途末路了,我试图弄清楚为什么会发生这种错误,并理解为什么会发生这种错误

我有一个表单应该使用ajax提交,但每当我尝试使用ajax时,总是会遇到非法调用错误。这是对现有代码的修改

var Login = function () {

var handleLogin = function() {

    $('.login-form').validate({

        ...other functions here to do with validation...

         submitHandler: function (form) {
                formData = new FormData($(this)[0]);
                $.ajax({
                    url: "includes/processors/login.php",
                    data: formData,
                    type: "POST",
                    dataType: "json",
                    async: false,
                    cache: false,
                    success: function(result) {
                        $.each(result, function(item, value){
                            if(item == 'Success'){
                                window.location.replace("index.php");
                            }
                        });
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        var returnMes = $.parseJSON(jqXHR.responseText);
                        $('.alert-danger').text(returnMes);
                        $('.alert-danger').show();
                    }
                }); 
            }
        });

        $('.login-form input').keypress(function (e) {
            if (e.which == 13) {
                if ($('.login-form').validate().form()) {
                    //$('.login-form').submit();//form validation success, call ajax form submit
                }
            }
        });

    }

任何帮助都将不胜感激:)

您需要序列化此
formData=newformdata($(this)[0])您返回的是一个对象,而不是一个要用Ajax提交的普通字符串。那么我最好使用formData=$('.login form').seralize();您可以使用json格式逐个传递值,而不是使用FormData