Ввод файла начальной загрузки не вызывает метод контроллера в Laravel - PullRequest
0 голосов
/ 26 июня 2019

Я новичок в Laravel. Я использую плагин для ввода файлов Bootstrap для загрузки нескольких файлов в Laravel. Но в моем коде URL в uploadUrl не вызывается. Это означает, что ajax-вызов не отправляется внутреннему контроллеру laravel и метод контроллера не вызывается. Не могли бы вы помочь мне в решении этой проблемы? Спасибо.

HTML-код

<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>

Если метод контроллера вызван, значения сеанса должны быть напечатаны. Но значение не печатается.

1 Ответ

0 голосов
/ 28 июня 2019

Я нашел решение. Спасибо всем, кто ответил на мой вопрос :)

Я редактировал код jQuery. Вот отредактированный. Меня устраивает.

$(document).on("ready", function() {
        $("#featured-file").fileinput({  
            theme: 'fa',
            allowedFileExtensions: ['jpg', 'png', 'gif','jpeg'],              
            uploadUrl: "{{ url('news/uploadimgsaddmode') }}", 
            uploadExtraData: function() {
                return {
                    _token: '<?php echo csrf_token() ?>',

                };
            },
            uploadAsync:true,           
            overwriteInitial: false,
            maxFileSize:2000,
            maxFilesNum: 10,                       
        }).on("filebatchselected", function(event, files) {
            $("#featured-file").fileinput("upload");
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...