首页 视频课程 WordPress开发文档自定义字段与AJAX 注册AJAX

注册AJAX

2020-11-01 / 6179阅

本视频需要登录以后才能播放

登录

在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

大家谈论
    我的见解
    目录