【发布时间】:2020-02-12 12:49:58
【问题描述】:
我正在尝试使用 fetch API 从输入中发布多个文件,但附加后表单数据仍然为空
我查看了here、here、here、here 和here 的答案并尝试了所有这些都无济于事
后端使用 Laravel 框架,这是我的 Blade 视图文件
<meta name="csrf-token" content="{{ csrf_token() }}">
<input class="form-control" type="file" id="pro-image" name="image[]" multiple onchange="submit()">
<script>
function submit() {
var ins = document.getElementById('pro-image').files.length;
var fd = new FormData();
for (var x = 0; x < ins; x++) {
fd.append("pro-image[]", document.getElementById('pro-image').files[x]);
}
console.log(fd);
fetch('/', {
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest",
"X-CSRF-Token": document.querySelector('meta[name="csrf-token"]').content
},
method: 'POST',
credentials: "same-origin",
body: fd,
});
}
</script>
控制台记录一个空的表单数据对象
这是后端的代码
Route::post('/', function () {
dd(request()->all());
});
我因此得到一个空数组
真的不知道为什么这不起作用!知道做错了什么吗?
【问题讨论】:
标签: javascript laravel fetch form-data filelist