Добрый день коллеги, возникла необходимость в форме которая отправляется с помощью 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');
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть картинка и внутри этой картинки сделал ссылки (image map) через кодНо при клике ссылка не передает значение в поле input с айдишником zubn
Добрый день, пишу плагин поиска текста по странице для хрома, но проблема в том, что использую инлайновые скрипты: