1

我一直在努力理解 Ajax POST 系统如何处理数据回调。不幸的是,由于我有缺陷的注​​意力跨度,我一直在写 3000 字的文章,忘记了我在做什么。

按照这个 tut,http: //wp.tutsplus.com/tutorials/how-to-create-a-simple-post-rating-system-with-wordpress-and-jquery/

我得到的是似乎对页面执行有效的东西。小心脏图标滚动到漂亮的图像,完全加载后,控制台中没有错误。

但是当我点击心形图标时,我得到了这个:

Uncaught ReferenceError: ajax_var is not defined 

从我试图理解的内容来看,当脚本加载到head

wp_enqueue_script('like_post', get_template_directory_uri().'/js/post-like.js', array('jquery'), '1.0', 1 );
wp_localize_script('like_post', 'ajax_var', array(
    'url' => admin_url('admin-ajax.php'),
    'nonce' => wp_create_nonce('ajax-nonce')
));

ajax_var当用户点击心脏时被调用a,但它不应该已经从内部明确定义了functions.php吗?

实时页面:theciv.com/vancouver

4

1 回答 1

0

您需要首先本地化您的脚本,然后将其排入队列。最好从注册脚本开始:

wp_register_script('like_post', get_template_directory_uri().'/js/post-like.js', array('jquery'), '1.0', 1 );
wp_localize_script('like_post', 'ajax_var', array(
    'url' => admin_url('admin-ajax.php'),
    'nonce' => wp_create_nonce('ajax-nonce')
));
wp_enqueue_script('like_post');
于 2015-10-31T18:05:59.430 回答