我正在尝试使用MinifiedJS和$ .request上传AJAX文件。
我有和输入文件的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);
});
}
我可以在Chrome开发工具上看到/ajax/upload_avatar.php的POST,但我的PHP上没有任何参数,看起来没有发送表单数据对象。
有什么想法吗?
答案 0 :(得分:0)
request()&#39; s第四个参数不是标题列表,而是一个设置对象。如果您要指定内容类型,则需要使用标题设置:
$.request(
'post',
'/ajax/upload_avatar.php',
fData,
{headers: {'Content-Type': 'multipart/form-data'}}
)