MinifiedJS $. Запросить сообщение FormData
Я пытаюсь сделать загрузку файла AJAX с использованием MinifiedJS и $.request.
У меня есть и HTML-файл с входным файлом.
<input type="file" id="fileAvatar" />
И мой код Javascript выглядит следующим образом.
$('#fileAvatar').on('change', uploadAvatar);
function uploadAvatar(event) {
var fData = new FormData();
// Add files
_.each(event.target.files, function(file, key) {
fData.append(key, file);
});
// Add ohter parameters
fData.append('user', 267345);
// POST formData
$.request(
'post',
'/ajax/upload_avatar.php',
fData,
{'Content-Type': 'multipart/form-data'}
).then(function(response){
console.log(response);
});
}
Я вижу POST в /ajax/upload_avatar.php на инструментах Chrome Dev, но я не получаю никаких параметров на моем PHP, похоже, объект данных формы не отправляется.
Какие-нибудь мысли?
1 ответ
4-й аргумент request() - это не список заголовков, а объект настроек. Если вы хотите указать Content-Type, вам нужно использовать настройку заголовков:
$.request(
'post',
'/ajax/upload_avatar.php',
fData,
{headers: {'Content-Type': 'multipart/form-data'}}
)