我正在尝试创建一个发送文件和文本输入的ajax上传表单。 我已设法使用以下代码发送文件:
var $form = $('#form');
var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
$.ajax({
url: 'upload.php',
type: 'POST',
dataType: 'html',
data: formData,
processData: false,
contentType: false
});
但是,我还需要发送文本输入,所以我尝试将整个表单传递给FormData
对象:
var $form = $('#form');
var formData = new FormData($form);
$.ajax({
url: 'upload.php',
type: 'POST',
dataType: 'html',
data: formData,
processData: false,
contentType: false
});
但是后来我在'upload.php'中得不到任何东西
如何将文本和文件输入一起发送?
谢谢!
答案 0 :(得分:0)
经过大量搜索后找到了这个答案(Previous Answer),并在我的应用程序中运行良好:
$("form#data").submit(function(){
var fd = new fd($(this)[0]);
var request = jQuery.ajax({
url: gurl,
type: 'POST',
cache: false,
contentType: false,
processData: false,
data: fd
});
我还会检查你的AJAX调用,dataType:'html'可能会导致错误。