我可以"命名空间"一个使用FormData的ajax POST请求?

时间:2014-10-01 05:56:39

标签: javascript jquery ajax

我发现this answer解释了如何使用FormData对象通过ajax上传文件。我想知道是否可以重新排列在POST请求中发送的数据结构。

我的后端处于rails状态,控制器需要这样的数据:

xmlFile: {
  some_property: 1,
  attachment: [the file]
}

但是,如果我使用与上述链接类似的解决方案,例如

var data = new FormData();
data.append('some_property', id);
data.append('source', file);

(其中fileFile个对象),然后使用$.ajax

提交
$.ajax({
  url: url,
  data: data,
  processData: false,
  type: 'POST',
  contentType: 'multipart/form-data', 
  mimeType: 'multipart/form-data'
});

表单提交,但数据未在xmlFile下命名空间。如果我尝试做类似

的事情
$.ajax({
  url: url,
  data: {xmlFile: data},
  processData: false,
  type: 'POST',
  contentType: 'multipart/form-data', 
  mimeType: 'multipart/form-data'
});

它不起作用。请求数据只显示[object Object]。

0 个答案:

没有答案