为什么我收到未捕获的类型错误:发布请求期间非法调用?
我发出了一个 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
变量声明之前缺少 let
或 var
,以及 $.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/