2020-11-01 / 6242阅
在WordPress开发中,你可以自己定义你的AJAX事件,也可以使用WordPress默认的AJAX模板处理业务。
add_action('wp_ajax_youran_api', 'youran_api'); add_action('wp_ajax_nopriv_youran_api','youran_api');//未登录 function youran_api(){ //do anything exit; }
//在对象中使用 add_action('wp_ajax_youran_api', array(this,'youran_api')); add_action('wp_ajax_nopriv_youran_api', array(this,'youran_api')) ;
以上代码可以注册一个AJAX处理函数,代码中youran_api是你自己的定义的字符串。
如果在函数的末尾不接受代码(上例中使用exit结束),WordPress会在输出的结尾处添加一个0。如你不需要这个0,可以结束代码。
AJAX的请求地址可以使用PHP输出:
<?php echo admin_url('admin-ajax.php')?>
前台AJAX请求必须参入 action 参数;上列中action的值为youran_api; WordPress会根据action参数来确定应该使用哪个AJAX事件来处理业务,注册AJAX事件时,action参数应该是唯一的。
//wp_ajax_ 固定的前缀,+ 你的名称 add_action('wp_ajax_youran_api', 'youran_api'); //wp_ajax_nopriv_ 固定 + 你的名称 add_action('wp_ajax_nopriv_youran_api','youran_api');//未登录 function youran_api(){ var_dump($_POST['data']); if(is_user_logged_in()){ echo '悠然自学,乐在其中'; }else { echo '悠然自学,没有登录'; } exit; //AJAX的回调函数,都不需要手段关闭,否则结果多出一个0 }
<script> var ajax_url ="<?php echo admin_url( 'admin-ajax.php');?>"; //这一句需要写在PHP文件中 jQuery(document).ready(function ($) { console.log('悠然自学,乐在其中'); $.ajax({ type: "POST", url: ajax_url, //地址 data: { action: "youran_api", data:'20202020' }, success: function (back) { console.log(back); } }); }); </script>
阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228