このフィドルを参照してくださいここをクリック
ここでは$('#photoform').serialize();
、フォーム フィールドを返しません。この問題は、ファイル フィールドに対してのみ発生します。
このファイルのフィールド値を取得する方法
クライアント コンピューターに保存されているファイルのコンテンツにアクセスして、javascript を使用して要求で送信することができないため、AJAX を使用してファイルをアップロードすることはできません。
これを行う別の方法は、非表示の iframe を使用することです。このプラグインはそれを行うのに役立ちます(そのプラグインのこの小さなチュートリアルも読んでください)。
ドキュメントから:「ファイル選択要素からのデータはシリアル化されていません。」