Maison > développement back-end > tutoriel php > Pourquoi mon appel WordPress Ajax renvoie-t-il « 0 » ?

Pourquoi mon appel WordPress Ajax renvoie-t-il « 0 » ?

Mary-Kate Olsen
Libérer: 2024-11-03 00:49:29
original
691 Les gens l'ont consulté

Why Does My WordPress Ajax Call Return

Dépannage des appels Ajax dans WordPress : pourquoi votre sortie est « 0 »

Dans WordPress, passer des appels Ajax peut être simple, mais parfois des problèmes peut survenir. Un problème courant survient lorsqu'un appel Ajax renvoie "0" comme sortie, malgré le passage d'une valeur différente.

Ce problème est dû à l'absence de la variable ajaxurl dans l'interface de WordPress. Bien que WordPress définisse cette variable dans le backend, il ne le fait pas dans le frontend, où vos appels Ajax sont exécutés.

Solution : Localisez votre fichier JavaScript

Pour pour résoudre ce problème, vous devez définir la variable ajaxurl dans votre code frontend. Cela peut être fait à l'aide de la fonction wp_localize_script, qui associe les données à un script localisé.

Voici comment procéder :

  1. Mettez votre fichier JavaScript en file d'attente :

    <code class="php">function my_enqueue() {
       wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    }
    add_action( 'wp_enqueue_scripts', 'my_enqueue' );</code>
    Copier après la connexion
  2. Localiser le script :

    <code class="php">wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );</code>
    Copier après la connexion

Ce code créera un objet global appelé my_ajax_object dans votre script Ajax, qui contient la variable ajaxurl.

  1. Utilisez la variable ajaxurl dans votre Ajax Appel :

    <code class="javascript">jQuery.ajax({
     type: "post",
     dataType: "json",
     url: my_ajax_object.ajax_url,
     data: formData,
     success: function(msg){
         console.log(msg);
     }
    });</code>
    Copier après la connexion

En utilisant my_ajax_object.ajax_url, vous pouvez désormais effectuer des appels Ajax vers le point de terminaison WordPress correct et recevoir le résultat attendu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal