@VegasChickiChicki

Как через Ajax запрос передать изображение и переменные?

Есть вот такой вот скрипт ,который отправляет на сервер изображение :
el.querySelector('.workspace__main-images .workspace__main-images-toolbar .workspace__main-images-toolbar-settings form input[type=file]').addEventListener('change',function () {
        let image,
            data = new FormData();

        image = this.files[0];

        data.append('image',image);

        $.ajax({
            type: "POST",
            url: "./admin.php",
            contentType: false,
            processData:false,
            data: data,
        });
    });

Но мне по мимо отправки изображения нужно еще и серверу передать переменную ,не могу понять как через Ajax запрос отправить и изображение и переменную.
Есть вот такой вариант :
$.ajax({
            type: "POST",
            url: "./admin.php",
            contentType: false,
            processData:false,
            data: {
                data: data,
                index: index,
            }
        });

Но как тогда на сервере обращаться к изображения и к переменной ,не могу понять.
Вот так вот обращаюсь сейчас:
if(isset($_FILES['image'])) {

    copy($_FILES['image']['tmp_name'], '../img/projects/' . $_POST['currentSlideProject'] . '.PNG');

}
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
@VegasChickiChicki Автор вопроса
Разобрался ,вот ответ:
через
data.append('index',currentSlideProject);
добавляем переменную
el.querySelector('.workspace__main-images .workspace__main-images-toolbar .workspace__main-images-toolbar-settings form input[type=file]').addEventListener('change',function () {

        console.log(currentSlideProject);

        let image,
            data = new FormData();

        image = this.files[0];

        data.append('image',image);
        data.append('index',currentSlideProject);

        $.ajax({
            type: "POST",
            url: "./admin.php",
            contentType: false,
            processData:false,
            data: data,
        });
    });

А на сервере обращаемся с помощью $_POST к ней:
$_POST['index']
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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