从AJAX接收数据到PHP

I have read a lot of Q&As on here and can't seem to figure out what I am doing wrong... Here is AJAX

var color = $('#fontcolor').val();
var size = $('#fontsize').val();
var text = $('#imagetext').val();
var fileToUpload = $('#fileToUpload').val();
var placement = $('#placement').val();


            $.ajax({
                type: "POST",
                url: 'upload.php',
                data: {color:color, size:size, text:text, fileToUpload:fileToUpload},
                success: function(data)
                {
                    window.alert(data);
                },
                cache: false,
                contentType: false,
                processData: false,
                error: function()
                {
                    window.alert('error');
                }
            }); 

And then php, I am just trying to simply see my data from now, but it shows empty...

<?php
$fontSize = $_POST['size'];
echo $fontSize;
echo "Test";
?>

I know that data is coming from form, I have tested variables after data is received, but just can't get it to post... I was using FormData object originally, but decided to simplify for troubleshooting purposes... Still nothing, seems very straightforward, but have been on this for a few days now...

So it seems I might not be able to pass the image alongside the other parameters, though perhaps there is a way I cannot find. Instead, I will pass image to upload.php, then in response return the image path. Then I will have it trigger success function that passes other parameters to another function that modifies the image accordingly. Works for me.