Php 使用ajax和Symfony2上传文件
我无法通过ajax将文件从表单上传到Symfony2控制器 这是我在客户端的表格:Php 使用ajax和Symfony2上传文件,php,jquery,ajax,symfony,Php,Jquery,Ajax,Symfony,我无法通过ajax将文件从表单上传到Symfony2控制器 这是我在客户端的表格: var uploadFile = function() { var content = "<form id='uploadFile' enctype='multipart/form-data' action='' method='post'>" + "<input id='file' type='file'/>" + "</form>"; $("
var uploadFile = function() {
var content = "<form id='uploadFile' enctype='multipart/form-data' action='' method='post'>" +
"<input id='file' type='file'/>" +
"</form>";
$("#upload-dialog").html(content);
$("#upload-dialog").dialog({
resizable: false,
title: 'Dodaj załączniki do umowy',
height: 300,
width: 450,
buttons: [
{
text: 'Wyślij',
click: function() {
var formData = new FormData();
formData.append('file', document.getElementById('file').files[0]);
$.ajax({
url: Routing.generate('employees_upload_attachment'),
data: formData,
enctype: 'multipart/form-data',
processData: false,
contentType: false,
success: function() {
},
error: function() {
}
});
}
}
]
});
当我试图显示上传的文件时,我得到一个空文件包对象:
对象(Symfony\Component\HttpFoundation\FileBag)#12(1){[“参数”:受保护]=>数组(0){} 有什么不对劲吗 编辑: 我解决了这个问题,在jquery中添加了ajax参数 缓存:false,键入:“POST”
一切正常:)添加ajax参数:
cache: false,
type: 'POST'
解决了这个问题
注意:答案基于注释而非我的注释,因为它显示在“未答复”部分。您是否尝试记录
document.getElementById('file').files[0]的值。
?是的,看起来不错。我解决了这个问题。我向ajax参数中添加了:cache:false并键入:“POST”。现在一切都好了:)我正在尝试类似的方法,但通过验证表单,以确保数据的完整性,可以帮助我吗@请回答你自己的问题,或者删除它。它仍然出现在“未答复”部分。谢谢
cache: false,
type: 'POST'