"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon appel WordPress AJAX renvoie-t-il 0 ?

Pourquoi mon appel WordPress AJAX renvoie-t-il 0 ?

Publié le 2024-11-08
Parcourir:456

Why is my WordPress AJAX call returning 0?

Appels Ajax dans WordPress : dépannage des problèmes de sortie

Votre appel ajax renvoie toujours 0 en sortie, vous laissant perplexe quant à la cause. Pour résoudre ce problème, considérez ce qui suit :

Variable ajaxurl globale dans WordPress :

WordPress définit la variable ajaxurl globale dans le backend, ce qui facilite les appels AJAX. Cependant, cette variable n'est pas disponible dans le frontend.

Définir ajaxurl dans le frontend :

Pour utiliser les appels AJAX dans le frontend, vous devez définir manuellement la variable ajaxurl . Une méthode efficace consiste à utiliser wp_localize_script.

Utilisation de wp_localize_script :

En supposant que vos appels AJAX résident dans my-ajax-script.js, utilisez wp_localize_script comme suit :

function my_enqueue() {
    wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );

Cela crée un objet my_ajax_object dans votre fichier JS, qui contient l'url_ajax.

Utilisez my_ajax_object en Javascript :

Après avoir localisé votre script, utilisez l'objet my_ajax_object dans votre Fichier JS :

jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3