通过ajax

时间:2016-04-06 10:43:33

标签: jquery json ajax form-data

我设法发送了一个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 }

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:23)

尝试:

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

答案 1 :(得分:2)

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