Загрузить файл через AJAX, используя laravel - PullRequest
0 голосов
/ 22 октября 2018

Так что в основном у меня есть модальное всплывающее окно начальной загрузки, в котором я хочу загрузить CSV через jquery / ajax, чтобы я мог разобрать с помощью PHP.

Я использую Laravel, и это в настоящее время мой код:

Модальный:

<div class="modal fade" id="uploadRecipientListModal" tabindex="-1" role="dialog"  aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title text-center">Add Recipient List</h5>
            </div>
            <div class="modal-body">
                 <form enctype="multipart/form-data" id="modal_form_id"  method="POST" >
                    <input type="file" name="documents">
                 </form>

                 <button id="uploadRecipientSubmit1">
            </div>
        </div>
    </div>
</div>

JS:

$( "#uploadRecipientSubmit1" ).click(function() {
    var postData = new FormData($("#modal_form_id")[0]);

    $.ajax({
            type:'POST',
            url:'recipient/upload-contact-list',
            processData: false,
            contentType: false,
            data : postData,
            success:function(data){
              console.log("File Uploaded" + data);
            },
            error:function(data){
              console.log("nope");
            }

        });       


});

Контроллер PHP:

public function uploadContactList(Request $request)
{
    if(\Illuminate\Support\Facades\Input::hasFile('documents')) {

       echo "Good";

    }
    else
    {
        echo "bad";
    }
}

Маршруты:

Route::post('/recipient/upload-contact-list', 'RecipientController@uploadContactList')->name('upload.contact.list');

Вывод в консоль:

File Uploadedbad

Я просто не могу получить доступ к CSV-файлу, который я пытаюсь загрузить, поэтому я могу проанализировать его и загрузить строки в БД.

IНекоторое время боролся с этим и пробовал несколько разных вещей, но не могу заставить это работать, кто-то может сказать мне, где я ошибаюсь?

Спасибо

...