your_uncle
@your_uncle
старый я. учусь я

Загрузка файла на сервер при помощи Ajax?

Всем привет. Пытаюсь отправить файл на сервер при помощи Аякса, но возвращает ошибку
Notice: Undefined index: file in /home/avesha/prdroid.com/test/assets/cabinets/admin/custom/views/php/csv_handler.php on line 10
Перепробовал все что знаю и что нашел на просторах.
Код:
Форма

<form enctype="multipart/form-data" id="fileForm">
                        <div class="form-group">
                            <label for="exampleFormControlFile1">Загрузить список контактов файлом</label>
                            <input type="file" class="form-control-file" id="file" name="file">

                        </div>
                        <button type="button" class="btn btn-success" onclick="saveFile();">Обработать файл</button>
                    </form>

Скрипт
var data = new FormData($("#fileForm"));

    console.log(data);
    $.ajax({
        cache: false,
        type: 'GET',
        processData: false,
        contentType: false,
        data: data,
        url: 'assets/cabinets/admin/custom/views/php/csv_handler.php',

        success: function (data) {
            $('#sms_res').append(data);

            // location.reload()

        },
        error: function (xhr, error, status) {
            console.log(xhr, status, error);
        }
    });

Обработчик
var_dump($_FILES);
//print_r($_FILES);
//print_r($_POST);
$dir = $_SERVER["DOCUMENT_ROOT"] . "upload/contacts/";
$filename1 = $_FILES['file']['name'];

$file = $dir . $filename1;
if(isset($_POST['submit'])){
    echo $_FILES['file']['error'];
}
else {
    move_uploaded_file($_FILES['file']['tmp_name'], $file);
}

Получается что просто ничего не приходит. Какой бы вариант я не пробовал все равно ничего не приходит.
Прошу совета и помощи!
Спасибо
  • Вопрос задан
  • 358 просмотров
Пригласить эксперта
Ответы на вопрос 1
reaferon
@reaferon
var data = new FormData();
data.append('file', $('#file')[0].files[0]);
...
$.ajax({
            type: "POST",
...
            data: data,
...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы