Для загрузки файлов через Ajax вам нужно использовать обходной путь, используя iframes или Flash.
Я рекомендую вам Uploadify , он использует флэш-память для загрузки и использует jQuery. Мне нравится тот факт, что у него много настроек, и он поставляется с хорошим стилем по умолчанию для обработки очереди. Просто следуйте инструкциям, чтобы настроить его на своем сайте.
В сценарии PHP вы получите файл в массиве $ _FILES, как если бы это была обычная отправка через форму, имя по умолчанию - «Filedata», поэтому вы можете получить доступ к своему файлу через $ _FILES [' Filedata ']. Затем просто введите ответ на запрос Ajax (JSON или XML) и выполните некоторый код JS для события Uploadify 'onComplete'.