ajax url путь не определен, как получить путь к файлу wordpress в ajax url? - PullRequest
0 голосов
/ 03 июня 2019

Получение ошибки на пути URL AJAX в WordPress. Он работает на локальном хосте, но не работает на сервере. И мой файл upload-file.php находится по адресу domainname.com / wp-content / themes / mytheme / upload-file.php Как определить путь URL-адреса jquery ajax? Пожалуйста, помогите мне решить проблему.

Вот мой пример кода:

$.ajax({
     url:'upload-file.php',
     method:"POST",
     data: form_data,
     contentType: false,
     cache: false,
     processData: false,

1 Ответ

1 голос
/ 03 июня 2019

Используйте wp_localize_script для Ajax в WordPress.URL-адрес файла WordPress admin-ajax.php, где данные для отправки отправляются на обработку.

//add in function.php
function ajax_script() {
    wp_enqueue_script( 'ajax_operation_script', get_template_directory_uri() . '/js/script.js', array('jquery'), '1.0.0', true );
    wp_localize_script( 'ajax_operation_script', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php', 'relataive' )));  
    wp_enqueue_script( 'ajax_operation_script' );
}
add_action( 'wp_enqueue_scripts', 'ajax_script' );

Хук действия Ajax, называемый wp_ajax_.Вам нужно подключить пользовательскую функцию, которая будет выполняться во время вызова Ajax.

//add in function.php
add_action('wp_ajax_upload_file', 'upload_file');
add_action('wp_ajax_nopriv_upload_file', 'upload_file');

function upload_file(){
    parse_str($_POST['form_data'], $my_array_of_vars);
    print_r($my_array_of_vars);
    die;
}

Код Ajax.

$.ajax({
    url: myAjax.ajaxurl,
    method:"POST",
    data : {action: 'upload_file',
    form_data:form_data 
    },
    contentType: false,
    cache: false,
    processData: false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...