我试图通过AJAX将jQuery数据发送到WordPress模板文件。我尝试了几种不同的技巧和解决方案,这些技巧和解决方案基于与此主题相关的其他问题,但都没有成功。我可以成功地从函数传递数据。php文件到我的促销。php模板文件。
但是,我无法将JavaScript文件(ajaxjavascript.js)中的数据获取到函数中。php文件。加载页面时,my$\\u POST变量为空,my console为空。从我的ajax javascript记录消息。js文件读取\'Server response from the AJAX URL 0\'. 对我来说,响应代码“0”意味着我的wp\\u ajax挂钩有问题,但我不知道是什么问题。钩子有什么问题吗?还是我看得太多了?
以下是我的最新尝试:
ajax-javascript.js
jQuery(document).ready(function($) {
var numberOfPromos = 4;
var data = {
numberOfPromos: numberOfPromos
};
$.post(\'/wp-admin/admin-ajax.php\', data, function(response) {
console.log(\'Server response from the AJAX URL \' + response);
});
});
functions.php
add_action( \'wp_enqueue_scripts\', \'add_ajax_javascript_file\' );
function add_ajax_javascript_file() {
wp_localize_script( \'ajax_for_frontend\', \'ajax_for_frontend\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' )));
wp_enqueue_script( \'ajax_custom_script\', get_stylesheet_directory_uri() . \'/js/ajax-javascript.js\', array(\'jquery\') );
}
add_action( \'wp_ajax_nopriv_get_number_of_promos\', \'get_number_of_promos\' );
add_action( \'wp_ajax_get_number_of_promos\', \'get_number_of_promos\' );
function get_number_of_promos() {
echo $_POST[\'numberOfPromos\'];
die();
}
promotions.php - 在Wordpress模板文件中调用函数的位置
<div><?php echo $get_number_of_promos(); ?></div>