formData отказывается работать

200
08 ноября 2017, 03:35

Возникла такая проблема - до этого писал код используя функцию serialize, пришлось добавлять отправку файла, поэтому теперь использую formData. Но код отказывается работать - form

function getCookie(name) {
    var matches = document.cookie.match(new RegExp(
    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ));
    return matches ? decodeURIComponent(matches[1]) : undefined;
}
function editNews(e){
    var formData = new FormData(this);
    var token = getCookie("token");
    console.log($formData);
    $.ajax({
        type: "POST",
        processData: false,
        contentType: false,
        url: "ajax/editnews.php",
        data: formData,
        success: function (data) {
            alert(data);
        }
    });
    e.preventDefault();
}
var forms = document.querySelectorAll(".form");
for(var i = 0; i < forms.length; i++){
    console.log(i);
    forms[i].addEventListener("submit", editNews);
    console.log(forms[i]);
}

HTML

<div>
    <h1>$title</h1>
    <img src='$imgpath'/>
    <a href='$pagepath' style='display:block'>Read more</a> 
    <form method ='post' class='form'>
        <input type = 'text' value ='$id' name='id' class='id'/>
        <input type ='text' value='$title' name ='title'/>
        <input type='text' value='$subtitle' name ='subtitle'/>
        <input type='text' value='$description' name = 'description'/>
        <textarea name = 'text'>$text</textarea>
        <input type='file' accept='image/*' name ='file'/>
        <input type='submit' value ='Изменить новость'/>
    </form>
</div>
Answer 1

В форме добавьте enctype="multipart/form-data" для передачи файлов.

<form method ='post' class='form' enctype='multipart/form-data'>

И второе, думаю неправильно вы объявляете var formData = new FormData(this); передавая ей event если первое не поможет замените на объявление var formData = new FormData();

READ ALSO
Sentry.io сделать рассылку на дополнительные emails

Sentry.io сделать рассылку на дополнительные emails

Моё приложение написано на laravel и использует sentryio для отлова ошибок

311
Как выбрать поле из таблицы

Как выбрать поле из таблицы

Есть запрос к БД:

269
Как правильно задать переменную и далее использовать ее в ссылках вида href (PHP)

Как правильно задать переменную и далее использовать ее в ссылках вида href (PHP)

Есть форма на которой расположены кнопки (ссылки) для скачивания, а также три выпадающих списка: "Отдел", "Месяц", "Год"Необходимо, при условии...

248
Как бы база, но не база [требует правки]

Как бы база, но не база [требует правки]

Название может быть составил не очень верное, ибо объяснить трудно

223