我遇到了一个烦人的问题。
data: new FormData($('form')[0])
效果很好,但是:
$("form").submit(function(e) {
sendData($(this));
e.preventDefault();
});
function sendData(submitForm) {
...
data: new FormData(submitForm)
不起作用。我不明白为什么。我检查并确保 submitForm 填满了表单数据和相关信息。那么究竟是什么问题以及如何解决呢?
该函数
$返回一个 jQuery 对象,它始终表示一组 DOM 元素,构造函数FormData将表单 DOM 元素作为参数,并且不能直接使用 jQuery 对象。在第二种情况下,与第一种情况一样需要方括号,为了从 jQuery 对象中获取 DOM 元素,您需要这样写才能正常工作:
或者您可以将
sendData对象传递给函数this而无需调用$: