在 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中文网其他相关文章!