The following form is what I use:
<form id="form-attachment" action="" method="post" enctype="multipart/form-data">
    <input name="attachment" type="file" />
    <input type="submit" />
</form>
This is what I do with jQuery:
$('body').on('submit', '#form-attachment', function(e) {
    e.preventDefault();
    var data = $(this).serialize();
    console.log('fine', data);
    var url = 'imageupload.php';
    $.ajax({
        type : "POST",
        url : url,
        data : data,
        success : function(response) {
            console.log('success: ' + response);
        },
        complete : function(response) {
            console.log('complete: ', response);
        },
        error: function(response) { 
            console.log('error: ', response); 
        }
    });
});
And this is my imageupload.php file:
$response = array();
$response["c"] = isset($_FILES["attachment"]);
echo json_encode($response);
And this is result on console on submit():
success: {"c":false}
So, what is wrong? Why my file is not visible at all?
 
     
     
    