首頁  >  文章  >  後端開發  >  為什麼我的 WordPress AJAX 呼叫回傳 0?

為什麼我的 WordPress AJAX 呼叫回傳 0?

Barbara Streisand
Barbara Streisand原創
2024-11-01 14:05:02485瀏覽

Why is my WordPress AJAX call returning 0?

WordPress 中的Ajax 呼叫:輸出問題故障排除

您的ajax 呼叫始終返回0 作為輸出,這讓您對原因感到困惑。要解決此問題,請考慮以下事項:

WordPress 中的全域 ajaxurl 變數:

WordPress 在後端定義了全域 ajaxurl 變數,以方便 AJAX 調用。但是,該變數在前端中不可用。

在前端定義ajaxurl:

要在前端使用AJAX調用,您需要手動定義ajaxurl變數。一種有效的方法是透過 wp_localize_script。

使用wp_localize_script:

假設您的AJAX 呼叫駐留在my-ajax-script.js 中,請按如下方式使用wp_localize_script:

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

這會在你的JS 檔案中建立一個my_ajax_object 對象,其中包含ajax_url。

在 Javascript 中使用 my_ajax_object:

在地化你的腳本後,使用JS 檔案中的 my_ajax_object 物件:
<code class="js">jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});</code>

以上是為什麼我的 WordPress AJAX 呼叫回傳 0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn