通过ajax发送FormData对象和其他参数

我设法发送一个FormData对象,如下所示:

var formData = new FormData(); formData.append('file', this.files[0]); $.ajax({ url: urlUploadProductsFile, type: 'POST', data: formData, cache: false, contentType: false, processData: false }, 'json'); 

现在我想要做的是添加一个额外的CustomerId发送到服务器。 以下内容不起作用:

 var formData = new FormData(); formData.append('file', this.files[0]); $.ajax({ url: urlUploadProductsFile, type: 'POST', data: { "file": formData, "CustomerId": 2 }, cache: false, contentType: false, processData: false }, 'json'); 

我还尝试了以下变化:

data: { "file": formData, "CustomerId": 2 }, processData: true

data: JSON.stringify({ "file": formData, "CustomerId": 2 })

data: { "file": JSON.stringify(formData), "CustomerId": 2 }

data: { file: formData, CustomerId: 2 }

任何帮助赞赏。

尝试:

 var formData = new FormData(); formData.append('file', this.files[0]); formData.append('CustomerId', 2); $.ajax({ url: urlUploadProductsFile, type: 'POST', data: formData, cache: false, contentType: false, processData: false }, 'json'); 

您需要将其直接添加到formData (就像使用'file' ),或者使用查询(GET)参数。