jquery - 无法使用 ajax 在 Laravel 中发送文件
问题描述
我正在尝试使用和 ajax 调用将文件发送到我的控制器。我经历了很多答案,我想出了这段代码。
$('#btn_stock_create').on('click',function(){
var create_stock_type = $('#create_stock_type').val();
var create_tag_no = $('#create_tag_no').val();
var formData = new FormData();
formData.append("file", $("#create_image")[0].files[0]);
$.ajax({
url: '/stocks/create',
type: 'POST',
data: {
_token: CSRF_TOKEN,
create_stock_type:create_stock_type,
create_tag_no:create_tag_no,
create_image:formData,
},
processData: false,
contentType: false,
cache: false,
dataType: 'json',
success: function (data) {
if (data.result == 1) {
table.ajax.reload();
swal({
title: data.status,
text: data.message,
icon: "success",
});
$('#createModal').modal('hide');
$('#createModal').find('form').trigger('reset');
}
}
});
});
我的表单在引导模式中。我的表格如下:
<form id="create_stock_form" class="form-horizontal" enctype="multipart/form-data">
<div class="form-group">
.... (Rest of the inputs)
</div>
<div class="form-group">
<div class="row">
<div class="col-md-4">
<label for="create_image" class="col-md-12 control-label" >Stock Image</label>
<div class="col-md-12">
<input type="file" class="form-control-file" id="create_image">
</div>
</div>
</div>
</div>
</form>
所以当调用 ajax 时会显示 Handler 异常。
C:..\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php。
谁能告诉我为什么会这样。我似乎无法使用我的 ajax 函数将文件发送到控制器。或者有没有其他解决方案。请帮我。
解决方案
我希望这有帮助
在您的输入中添加接受属性
<input type="file" class="form-control-file" id="create_image" accept="image/*>
Ajax 提交请求
$('#btn_stock_create').on('click',function(){
var formData = new FormData($('#create_stock_form').find('#create_image')[0]);
$.ajax({
url: '/stocks/create',
type: 'POST',
headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' },
data: formData,
processData: false,
contentType: false,
cache: false,
dataType: 'json',
success: function (data) {
if (data.result == 1) {
table.ajax.reload();
swal({
title: data.status,
text: data.message,
icon: "success",
});
$('#createModal').modal('hide');
$('#createModal').find('form').trigger('reset');
}
}
});
});
推荐阅读
- java - 如何从 Spring Condition 访问文件属性?
- c# - 匹配字符串内的变量
- python - 检测空列表与空字符串列表
- android-things - 是否可以加快启动时间?
- python - 函数式编程与列表理解
- reactjs - reactnavigation后退按钮的自定义后退导航
- nginx - 使用具有不同名称的 HTML 文件的 nginx 位置
- javascript - 使用 MySQL for NxN 结构以最优化和最省时的方式存储和检索数据
- docker - 如何在 jenkinsci/blueocean 中安装 docker-compose?
- r - 在 Rmarkdown 的 PDF 输出中使用 Fira 代码启用连字