I have a problem with uploading files when using ajax, when I click on the upload button, the PHP file does not recognize the POST method and I do not get the value entered in that text field.
this is my form:
<form method="POST" action="#" enctype="multipart/form-data">
<div class="row">
<div class="form-group col-md-4" >
<input type="hidden" name="referencia" id="referencia" class="form-control">
</div>
</div>
<div class="row">
<div class="form-group col-md-4" >
<input type="file" id="upload" name="upload" accept=".doc,.docx,.pdf" />
</div>
<div id="messageupload"></div>
</div>
<div class="row">
<div class="form-group col-md-4 pull-right">
<button type="btn" id="uploadfile" class="btn btn-success"><i class="fa fa-upload"></i> Subir </button>
</div>
</div>
</form>
This is my script
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click','#uploadfile',function(){
var property = document.getElementById('upload').files[0];
var form_data = new FormData();
form_data.append("file",property);
$.ajax({
url:'upload.php',
method:'POST',
data:form_data,
contentType:false,
cache:false,
processData:false,
beforeSend:function(){
$('#messageupload').html('Loading......');
},
success:function(data){
$('#messageupload').html(data);
}
});
});
});
</script>
Please can someone help me.