如何在jQuery中将数据serialize()和新formData相互组合

对于仅包含文本字段的表单,我使用以下js:

$.ajax({
    type: "POST",url: 'order.php',data: $('#order').serialize(),success: function(data){
            $('.alert-success').html(data); 
    }
});

对于仅用于文件上传的另一种形式,我有这个js:

var file_name = $('.image').val();
var index_dot = file_name.lastIndexOf(".")+1;
var ext = file_name.substr(index_dot);

var formData = new FormData();          
formData.append('fileupload',$( '.image' )[0].files[0],file_name);

$.ajax({
    url: 'order.php',data: formData,processData: false,contentType: false,type: 'POST',success: function(data){
        $(".alert-success").show(); 
        $('.alert-success').html(data);

    }
});

现在,我想将data: $('#order').serialize(),data: formData,这两个数据相互组合,以使我只有1个ajax

我该怎么做? (我已经将input type="file"放入了第一种形式)

beachboyll 回答:如何在jQuery中将数据serialize()和新formData相互组合

var file_name = $('.image').val();
var index_dot = file_name.lastIndexOf(".")+1;
var ext = file_name.substr(index_dot);

var formData = new FormData(this);          
formData.append('fileupload',$( '.image' )[0].files[0],file_name);

$.ajax({
    url: 'order.php',data: formData,...

注意:var formData = new FormData(this);而非var formData = new FormData();

本文链接:https://www.f2er.com/3005549.html

大家都在问