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);
}
});
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