我是 Laravel 的新手。我正在使用 Bootstrap 文件输入插件在 Laravel 中上传多个文件。但是在我的代码中,uploadUrl 中的 url 没有被调用。这意味着不会将 ajax 调用发送到 laravel 后端控制器,也不会调用控制器方法。你能帮我解决这个问题吗?谢谢你。
代码
<div class="form-group">
<label class="col-sm-2 control-label required">FEATURED IMAGES</label>
<div class="col-sm-10">
<input id="featured-file" name="featured-file[]" type="file" multiple class="file-loading">
<p class="notice">Please use to upload 550px width x 670px height images for better view</p>
</div>
</div>
jQuery 代码
$("#featured-file").fileinput({
theme: 'fa',
uploadAsync:true,
uploadUrl:"{{ url('/news/uploadimgsaddmode') }}",
uploadExtraData: function() {
return {
_token: '<?php echo csrf_token() ?>',
};
},
allowedFileExtensions: ['jpg', 'png', 'gif','jpeg'],
overwriteInitial: false,
maxFileSize:2000,
maxFilesNum: 10
}).on('fileuploaded', function(event, previewId, index, fileId) {
console.log('File Uploaded', 'ID: ' + fileId + ', Thumb ID: ' + previewId);
}).on('fileuploaderror', function(event, data, msg) {
console.log('File Upload Error', 'ID: ' + data.fileId + ', Thumb ID: ' + data.previewId);
});
Laravel Controller Method
public function uploadimagesaddmode(Request $request){
Session::put('uploaded_files','Hi');
Session::save();
return response()->json(['uploaded' =>'Hi']);
}
我使用了一些 html 代码来测试是否调用了控制器方法
<p>@if(Session::has('uploaded_files')) {{ Session::get('uploaded_files') }} @endif</p>
如果调用控制器方法,则应打印会话值。但是没有打印任何值。