MinifyJS $ .request发布FormData

时间:2014-10-02 15:51:01

标签: ajax post minifiedjs

我正在尝试使用MinifiedJS和$ .request上传AJAX文件。

我有和输入文件的HTML文件。

<input type="file" id="fileAvatar" />

我的Javascript代码看起来像这样。

$('#fileAvatar').on('change', uploadAvatar);

function uploadAvatar(event) {
  var fData = new FormData();
  // Add files
  _.each(event.target.files, function(file, key) {
    fData.append(key, file);
  });
  // Add ohter parameters
  fData.append('user', 267345);

  // POST formData
  $.request(
    'post', 
    '/ajax/upload_avatar.php', 
    fData, 
    {'Content-Type': 'multipart/form-data'}
  ).then(function(response){
    console.log(response);
  });
}

我可以在Chrome开发工具上看到/ajax/upload_avatar.php的POST,但我的PHP上没有任何参数,看起来没有发送表单数据对象。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

request()&#39; s第四个参数不是标题列表,而是一个设置对象。如果您要指定内容类型,则需要使用标题设置:

$.request(
    'post', 
    '/ajax/upload_avatar.php', 
    fData, 
    {headers: {'Content-Type': 'multipart/form-data'}}
  )