Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Panggilan Ajax WordPress Saya Mengembalikan \'0\'?

Mengapa Panggilan Ajax WordPress Saya Mengembalikan \'0\'?

Mary-Kate Olsen
Lepaskan: 2024-11-03 00:49:29
asal
685 orang telah melayarinya

Why Does My WordPress Ajax Call Return

Menyelesaikan masalah Panggilan Ajax dalam WordPress: Mengapa Output Anda "0"

Dalam WordPress, membuat panggilan Ajax boleh menjadi mudah, tetapi kadangkala isu boleh timbul. Satu masalah biasa ialah apabila panggilan Ajax mengembalikan "0" sebagai output, walaupun memberikan nilai yang berbeza.

Isu ini disebabkan oleh kekurangan pembolehubah ajaxurl di bahagian hadapan WordPress. Walaupun WordPress mentakrifkan pembolehubah ini di bahagian belakang, ia tidak melakukannya di bahagian hadapan, di mana panggilan Ajax anda dilaksanakan.

Penyelesaian: Setempatkan Fail JavaScript Anda

Kepada menyelesaikan masalah ini, anda perlu menentukan pembolehubah ajaxurl dalam kod bahagian hadapan anda. Ini boleh dilakukan menggunakan fungsi wp_localize_script, yang mengaitkan data dengan skrip setempat.

Begini cara untuk melakukannya:

  1. Enqueque Your JavaScript File:

    <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>
    Salin selepas log masuk
  2. Lokalkan Skrip:

    <code class="php">wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );</code>
    Salin selepas log masuk

Kod ini akan mencipta objek global yang dipanggil my_ajax_object dalam skrip Ajax anda, yang mengandungi pembolehubah ajaxurl.

  1. Gunakan Pembolehubah ajaxurl dalam Panggilan Ajax Anda:

    <code class="javascript">jQuery.ajax({
     type: "post",
     dataType: "json",
     url: my_ajax_object.ajax_url,
     data: formData,
     success: function(msg){
         console.log(msg);
     }
    });</code>
    Salin selepas log masuk

Dengan menggunakan my_ajax_object.ajax_url, anda kini boleh membuat panggilan Ajax ke titik akhir WordPress yang betul dan menerima output yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Panggilan Ajax WordPress Saya Mengembalikan \'0\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan