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中文網其他相關文章!