Symfony 2-使用FormData和Ajax上传文件,无需任何请求

时间:2018-10-11 13:35:02

标签: javascript php ajax symfony form-data

我正在尝试使用FormData对象和Ajax上传文件,但是我的文件没有出现在我的symfony控制器的请求对象中的任何地方。这是我的HTMl输入:

<label for="shp-file">Choisir un Shapefile:</label>
<input id ="shp-file" type="file" multiple />

我的js:

$("#shp-file").change(function() {
    var form_data_shp = new FormData();
    form_data_shp.append('file', this.files[0]);
    $.ajax({
      url: location.href,
      data: form_data_shp,
      processData: false,
      contentType: false,
      type: 'POST',
      success: function(data){
        console.log(data);
      }
    });
})

ajax请求中没有错误,但是对象似乎为空。我的控制器中有这个

if ($request->isXmlHttpRequest()) {
    return new JsonResponse($request)
}

我得到的是一个空对象:

Object { attributes: {}, request: {}, query: {}, server: {}, files: {}, cookies: {}, headers: {} }

(文件应显示在files键中。)

0 个答案:

没有答案