我开始学习 WP 下的 AJAX 请求,但不幸的是我坚持一开始,不知道我做错了什么。我写了非常基本的代码,根本不起作用。我阅读了文档,但无济于事,所以我决定问您问题出在哪里。PHPfunction pt_get_participants(){ echo json_encode('test');}protected function filtrateParticipants($update = false, $dataToFiltration=[]){ wp_enqueue_script( 'pt-script-main', get_parent_theme_file_uri().'/assets/js/ptAjaxHandler.js' , array(), '1.0.0', true ); $protocol = isset($_SERVER['HTTPS']) ? 'https://' : 'http://'; wp_localize_script( 'pt-script-main', 'pt_data', array( 'ajax_url' => admin_url('admin-ajax.php', $protocol), 'nonce' => wp_create_nonce( "pt_participant_nonce" )) ); add_action('wp_ajax_nopriv_pt_get_participants', array($this, 'pt_get_participants')); add_action('wp_ajax_pt_get_participants',array($this, 'pt_get_participants'));} Java脚本(function($) { $(document).ready(function(){ var data = { action: 'pt_get_participants', nonce: pt_data.pt_participant_nonce, success: 'success' }; $.get(pt_data.ajax_url, data, function(res){ console.log(res); }); }); console.log('test');})(jQuery);
2 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
你如何调用 filtrateParticipants 方法以及在哪里?
在你的类构造函数中做这样的事情可能会有所帮助
add_action('init', [ $this, 'filtrateParticipants'] );
另外,您的代码中有错字
您正在传递名为nonce 的参数
' nonce ' => wp_create_nonce("pt_participant_nonce"))
而您正试图将其用作pt_participant_nonce
随机数:pt_data。pt_participant_nonce
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消