Wordpress后计数器按钮给出未定义的Ajax POST

时间:2013-08-14 03:57:33

标签: php jquery ajax wordpress

我一直在努力了解Ajax POST系统如何处理数据回调。不幸的是,由于我的注意力不集中,我不断阅读3000篇文章并忘记我在那里做的事情。

在此之后,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

1 个答案:

答案 0 :(得分: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');