我试图通过AJAX触发一个PHP函数,在我的wordpress网站上点击一个按钮后,使用wordpress随机数来确保进程的安全。WordPress的AJAX随机数不会验证
一切工作正常,除了因为某些原因不会验证的随机数,所以我的-1被返回。我错过了什么?
我在functions.php的代码
add_action('wp_enqueue_scripts', 'button_click_ajax_scripts');
function button_click_ajax_scripts() {
if (! is_admin()) {
wp_enqueue_script('button_click_ajax', get_stylesheet_directory_uri() . '/js/button_click_ajax.js', array ('jquery'), false, true);
$params = array(
'nonce' => wp_create_nonce('button_nonce'),
'ajaxURL' => admin_url('admin-ajax.php'),
);
wp_localize_script('button_click_ajax', 'params', $params);
}
}
add_action('wp_ajax_button_click_ajax_callback', 'button_click_ajax_callback'); // only works if user logged in
function button_click_ajax_callback() {
check_ajax_referer('button_nonce', 'security');
echo "success";
die;
}
我在button_click_ajax.js代码
jQuery(document).ready(function($) {
$("#button").click(function() {
console.log('Button clicked.');
$.get(
params.ajaxURL, {
'action': 'button_click_ajax_callback',
'security:': params.nonce,
},
function(response) {
// Do stuff here
$('#button').replaceWith(response);
}
);
});
});
不能相信我错过了!谢谢 – user1684046 2014-10-30 23:28:30