我正在尝试使用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
键中。)