Javascript 试图通过ajax提交表单操作,未定义

Javascript 试图通过ajax提交表单操作,未定义,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码,它为.prop('action') 我不太清楚为什么 有什么想法吗 $(function() { $('#generalContactForm').submit(function(event) { var formEl = this; var submitButton = $('input[type=submit]', formEl); var formData

我有以下代码,它为
.prop('action')

我不太清楚为什么

有什么想法吗

$(function() {
            $('#generalContactForm').submit(function(event) {
                var formEl = this;
                var submitButton = $('input[type=submit]', formEl);
                var formData = {
                    'firstName'     : $('input[name=firstName]').val(),
                    'lastName'      : $('input[name=lastName]').val(),
                    'phoneNumber'   : $('input[name=phoneNumber]').val(),
                    'email'         : $('input[name=email]').val(),
                    'numberofGuests': $('input[name=numberofGuests]').val(),
                    'eventType': $('input[name=eventType]').val(),
                    'alcohol': $('input[name=alcohol]').val(),
                    'contactTime': $('input[name=contactTime]').val(),
                    'eventDate': $('input[name=eventDate]').val(),
                    'contactTextarea': $('input[name=contactTextarea]').val(),
                };

                $.ajax({
                    type : 'POST',
                    url : formEl.prop('action'),
                    data : formData,
                    beforeSend: function() {
                        submitButton.prop('disabled', 'disabled');
                    }
                }).done(function(data) {
                    submitButton.prop('disabled', false);
                });
                event.preventDefault();
            });
        });

您应该在jquery对象上调用该函数

$(formEl).prop('action')

使用formEl.attr('action')代替prop。仍然会得到相同的错误。请参阅链接为什么不使用$(formEl).serialize()?serialize也这样做。似乎有用