请求参数为空,在提交带有图像的表单数据 AJAX 后
Posted
技术标签:
【中文标题】请求参数为空,在提交带有图像的表单数据 AJAX 后【英文标题】:Request parameter is null , after submitting formdata AJAX with image 【发布时间】:2021-12-01 12:22:09 【问题描述】:重要!这仅发生在托管服务器中。本地主机上传没问题
我正在尝试使用 AJAX 将我的图像上传到我的 laravel 控制器。通过使用dd($request),请求为空
javascript 代码:
function addLogo()
console.log('test');
$('#logoinvois .msg').text('');
$('#logoinvois .msg').hide();
// var form = $('#form_invois_logo')[0];
// var formData = new FormData(form);
var formData = new FormData();
var file_data = $('#logo_invois').prop('files')[0];
formData.append('logo_invois', file_data);
for (var pair of formData.entries())
console.log(pair[0] + ', ' + pair[1]);
// return;
$.ajax(
url: '/invois/add_logo',
type: 'post',
data: formData,
cache: false,
processData: false,
contentType: false,
enctype: 'multipart/form-data',
success: function(data)
console.log(data););
Laravel 控制器:
public function save_logo(Request $request)
dd($request->all());
$request->validate(
[
'logo_invois' => 'required|mimes:jpeg,jpg,png|max:500',
],
[
'logo_invois.required' => 'Pilih gambar',
'logo_invois.mimes' => 'Jenis fail hanya jpeg,jpg,png',
'logo_invois.max' => 'Saiz yang dibenarkan adalah kurang 500KB',
]
);
【问题讨论】:
add_logo 路由是否指向 save_logo 控制器函数? 是的,正如我所提到的,在 localhost 中上传图片是正常的,但是当我在托管服务器上部署 Web 应用程序时出现问题 好吧,与其依赖对整个基础架构了解有限信息的随机人员,不如自己进行调试并通过查看日志和跟踪面包屑来找出问题所在。 Laravel 有日志,你的服务器也应该有。有时你只需要自己想办法。乍一看,您在帖子中显示的所有内容看起来都没有问题。你甚至说它在本地工作,所以弄清楚你的本地实例和生产实例之间有什么不同。 从控制器返回值到 console.log 显示消息表明没有提交图像 也许有人遇到这个问题并解决它 【参考方案1】:将我的路由上传回托管服务器,它解决了问题
【讨论】:
我听不懂你在说什么 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于请求参数为空,在提交带有图像的表单数据 AJAX 后的主要内容,如果未能解决你的问题,请参考以下文章
ajax 中参数带有html格式 文本编辑器提交form表单时异常