在WordPress 中呼叫AJAX:輸出非零結果的綜合指南
在WordPress 中進行AJAX 到呼叫時,考慮以下因素重要:前端和後端環境之間的差異。雖然WordPress在後端定義了一個全域ajaxurl變量,但該變數並未在前端定義。因此,要在前端使用 AJAX 調用,您必須自行明確定義該變數。
使用 wp_localize_script:
在前端定義 ajaxurl 變數的實用方法就是使用wp_localize_script函數。例如,如果您的AJAX 呼叫包含在名為my-ajax-script.js 的JS 檔案中,您可以以以下方式對其進行本地化:
<code class="php">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' );</code>
在JavaScript 中使用my_ajax_object 變數:
在地化JS 檔案後,您可以存取my_ajax_object 物件。這允許您使用 AJAX 將資料傳遞到 PHP 函數:
<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 呼叫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!