如何在 jquery 中将数据 serialize() 和新的 formData 相互结合

how to combine data serialize() and new formData with each other in jquery

对于只有文本字段的表单,我使用这个 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);

    }
});

现在我想合并 2 个数据:data: $('#order').serialize(),data: formData,,这样我就只有 1 个 ajax

我该怎么做? (我已经把input type="file"写成第一种形式了)

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();