Javascript ajax使用FormData对象创建同一类的多个表单
因此,我使用Javascript ajax使用FormData对象创建同一类的多个表单,javascript,ajax,form-data,Javascript,Ajax,Form Data,因此,我使用FormData对象通过ajax向服务器发送文件和POST数据。 一方面,它很好用。但是当我有多个具有相同类名的表单时,不会发送POST数据。下面是第一个工作示例和发送,不发送数据。 它们基本相同,只是FormData对象使用$form.get(0),第二个使用$form。第二次,我尝试了$form.get(),$form[0],但没有成功。我是否使用了FormData错误 EXAMPLE 1 var $form = $('#post-form'); var fd = new For
FormData
对象通过ajax向服务器发送文件和POST
数据。
一方面,它很好用。但是当我有多个具有相同类名的表单时,不会发送POST
数据。下面是第一个工作示例和发送,不发送数据。
它们基本相同,只是FormData
对象使用$form.get(0)
,第二个使用$form
。第二次,我尝试了$form.get()
,$form[0]
,但没有成功。我是否使用了FormData
错误
EXAMPLE 1
var $form = $('#post-form');
var fd = new FormData($form.get(0));
deferred = $.ajax({
url: submit_url,
type: submit_type,
processData: false,
contentType: false,
dataType: 'json',
data: fd,
xhr: function() {
var req = $.ajaxSettings.xhr();
if (req && req.upload) {
req.upload.addEventListener('progress', function(e) {
if(e.lengthComputable) {
var done = e.loaded || e.position, total = e.total || e.totalSize;
var percent = parseInt((done/total)*100) + '%';
//percentage of uploaded file
}
}, false);
}
return req;
},
beforeSend : function() {
},
success : function() {
}
})
EXAMPLE 2
var $form = $('.form-base');
var fd = new FormData($form);
deferred = $.ajax({
url: submit_url,
type: submit_type,
processData: false,
contentType: false,
dataType: 'json',
data: fd,
xhr: function() {
var req = $.ajaxSettings.xhr();
if (req && req.upload) {
req.upload.addEventListener('progress', function(e) {
if(e.lengthComputable) {
var done = e.loaded || e.position, total = e.total || e.totalSize;
var percent = parseInt((done/total)*100) + '%';
//percentage of uploaded file
}
}, false);
}
return req;
},
beforeSend : function() {
},
success : function() {
}
})
它在ajax调用之前显示5,这是正确的。Hmmmm..我从其中一个表单中删除了一个文件输入,因此它减少到了四个,但现在它只传递第一个表单的第一个输入。我得做些调试。