WordPress 中的Ajax 呼叫故障排除:為什麼輸出為“0”
在WordPress 中,進行Ajax 調用可能很簡單,但有時會出現問題可以出現。一個常見的問題是 Ajax 呼叫返回“0”作為輸出,儘管傳遞了不同的值。
此問題是由於 WordPress 前端缺少 ajaxurl 變數所引起的。雖然 WordPress 在後端定義了此變量,但它不會在執行 Ajax 呼叫的前端中這樣做。
解決方案:本地化您的 JavaScript 檔案
到解決這個問題,您需要在前端程式碼中定義 ajaxurl 變數。這可以使用 wp_localize_script 函數來完成,該函數將資料與本地化腳本關聯起來。
具體操作方法如下:
將您的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>
<code class="php">wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );</code>
本地化腳本:
<code class="javascript">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中文網其他相關文章!