javascript - 未捕获的类型错误 : Illegal invocation during a post request

标签 javascript jquery ajax form-data

为什么我收到未捕获的类型错误:发布请求期间非法调用

我发出了一个 POST 请求,将 formData 放入其中,并将 processData 设置为 false。可能是什么错误?

代码:

$(document).on("submit", "#reservation", function (e) {
    var csrftoken = $(this).find('input[name="csrfmiddlewaretoken"]').val()

    e.preventDefault();
        $form = $(this);
        var form_data = new FormData($form[0]);
        
        $.post($form.attr('action'),{
            data: form_data,
            csrfmiddlewaretoken: csrftoken,
            processData: false,
            contentType: false
            },
        onAjaxSuccess
    );
    function onAjaxSuccess(data)
        {
          alert(data);
        }
})

最佳答案

您在 $form 变量声明之前缺少 letvar,以及 $.post( ) 方法似乎有点不对劲。尝试这样的事情:

$(document).on("submit", "#reservation", function (e) {
    var csrftoken = $(this).find('input[name="csrfmiddlewaretoken"]').val()

    e.preventDefault();
    let $form = $(this);
    var form_data = new FormData($form[0]);

    $.post($form.attr('action'), {
        data: form_data,
        csrfmiddlewaretoken: csrftoken,
        processData: false,
        contentType: false
    }).done(function (data) {
        alert(data);
    }).catch((err) => { console.error(err) }); // using es6 arrow function
})

关于javascript - 未捕获的类型错误 : Illegal invocation during a post request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56711284/

相关文章:

javascript - 将颜色选择器(jquery UI slider )连接到 Sketch.js

javascript - 使用 AJAX 时 Django 未接收新的查询字符串

javascript - 如何解决此 WCF/AJAX 问题? (访问数据库时出现 400 Bad Request 错误)

javascript - javascript 中定义的 webgl 着色器

javascript - 如何替换 div 元素中的所有 <a> href?

javascript - 从 ng-options 中为 AngularJS 中的另一个选择语句选择值

IE 中表格的 jQuery UI 性能问题

javascript - wordpress主题中的jquery冲突

php - 除非启用 Javascript,否则使用 php 函数

javascript - 使用 Blade 组件和 javascript