首頁  >  文章  >  後端開發  >  為什麼我的 WordPress Ajax 呼叫返回“0”?

為什麼我的 WordPress Ajax 呼叫返回“0”?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 00:49:29619瀏覽

Why Does My WordPress Ajax Call Return

WordPress 中的Ajax 呼叫故障排除:為什麼輸出為“0”

在WordPress 中,進行Ajax 調用可能很簡單,但有時會出現問題可以出現。一個常見的問題是 Ajax 呼叫返回“0”作為輸出,儘管傳遞了不同的值。

此問題是由於 WordPress 前端缺少 ajaxurl 變數所引起的。雖然 WordPress 在後端定義了此變量,但它不會在執行 Ajax 呼叫的前端中這樣做。

解決方案:本地化您的 JavaScript 檔案

到解決這個問題,您需要在前端程式碼中定義 ajaxurl 變數。這可以使用 wp_localize_script 函數來完成,該函數將資料與本地化腳本關聯起來。

具體操作方法如下:

  1. 將您的JavaScript 檔案排入佇列:

    <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>
  2. <code class="php">wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );</code>

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

此程式碼將建立一個名為的全域物件Ajax 腳本中的my_ajax_object,其中包含ajaxurl 變數。 在Ajax 呼叫中使用ajaxurl 變數:透過使用使用my_ajax_object.對正確的WordPress 端點進行Ajax 呼叫並接收預期的輸出。

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

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