WordPress Ajax загрузка файлов

302
11 мая 2017, 12:56

Добрый день коллеги, возникла необходимость в форме которая отправляется с помощью Ajax переслать файл,
что увидел c использованием jQuery: jquery.js?ver=1.12.4:4 Uncaught TypeError: Illegal invocation

Изменил processData на false, для отмены конвертации данных, после чего файл отгружается, но теперь возник вопрос при обращении к action-у возвращается 0
Что сообщает о том что данный action не зарегистрированный

Но при этом без отключения processData, все работает корректно

Я так понимаю что таким образом на back передается JSON объект который WordPress не может корректно распарсить и определить action

Собственно как дальше быть? Как в action передать файл, или может есть способ отдать ajax запрос без регистрации обработчика через WordPress?

Ну и собственно сам код

    function uploadFile() {
    var formData = new FormData();
    var fileInput = $('[type="file"]')[0];
    $.each(fileInput.files, function(key, value) {
        formData.append(key, value);
    });
    jQuery.ajax({
            url: location.origin + '/wp-admin/admin-ajax.php',
            type: "POST",
            data: {
                action: 'test',
                files: formData
            },
            cache: false,
            dataType: 'multipart/form-data',
            processData: false,
            contentType: false,
        })
        .then(function(data) {
            console.log('RESPONCE', data);
        });
    return true;
};

PHP обработчик

function test(){
    if($_FILES){
        echo count($_FILES);
    }else{
        echo 'test';
    }
    die(0);
}
add_action('wp_ajax_test', 'test');
add_action('wp_ajax_nopriv_test', 'test');
READ ALSO
Карты изображения + javascipt

Карты изображения + javascipt

Есть картинка и внутри этой картинки сделал ссылки (image map) через кодНо при клике ссылка не передает значение в поле input с айдишником zubn

256
Несколько БД для приложения на Meteor

Несколько БД для приложения на Meteor

Доброе время сутокЕсть два приложения на метеоре(А и Б)

236
плагин поиска текста по странице для хрома

плагин поиска текста по странице для хрома

Добрый день, пишу плагин поиска текста по странице для хрома, но проблема в том, что использую инлайновые скрипты:

267