首页 > CMS > Wordpress > 正文

Wordpress中AJAX方法使用详解

2024-09-07 00:51:51
字体:大 中 小
来源:转载
供稿:网友

Wordpress中AJAX用法有很多,我们这里介绍两种简单的ajax使用方法,有兴趣了解的小编可以生起来看看吧.

1、哪两种AJAX方法

1.1、官方的方法,主要的思路是,在functions里增加wp_enqueue_script和wp_localize_script来增加AJAX的请求地址和调用脚本,如:

  1. $AJAX=array 
  2. ( 
  3.  'URL' => admin_url( 'admin-ajax.php' ), 
  4. ); 
  5. $AJAXURL=get_bloginfo('template_url').'/public/js/Test_ajax.js'; 
  6. wp_enqueue_script( 'my-ajax-request',$AJAXURL, array( 'jquery' ) ); 
  7. wp_localize_script( 'my-ajax-request', 'AJAX', $AJAX ); 
  8. //Vevb.com 
  9. function _aaaa() 
  10. { 
  11.  $id=$_POST['id']; 
  12.  $json['info']='rand='.rand(0,$id); 
  13.  header("Content-Type: application/json"); 
  14.  echo json_encode($json); 
  15.  exit; 
  16. } 
  17. add_action( 'wp_ajax_aaaa', '_aaaa' ); // ajax for logged in users 
  18. add_action( 'wp_ajax_nopriv_aaaa', '_aaaa' ); // ajax for not logged in users 

当然也可以这样:

  1. $AJAX=array 
  2. ( 
  3.  'URL' => admin_url( 'admin-ajax.php' ), 
  4. ); 
  5. $AJAXURL=get_bloginfo('template_url').'/public/js/Test_ajax.js'; 
  6. wp_enqueue_script( 'my-ajax-request',$AJAXURL, array( 'jquery' ) ); 
  7. wp_localize_script( 'my-ajax-request', 'AJAX', $AJAX ); 
  8.  
  9. function _aaaa() 
  10. { 
  11.  $id=$_POST['id']; 
  12.  $respond='rand='.rand(0,$id); 
  13.  echo $respond; 
  14.  die(); 
  15. } 
  16. add_action( 'wp_ajax_aaaa', '_aaaa' ); // ajax for logged in users 
  17. add_action( 'wp_ajax_nopriv_aaaa', '_aaaa' ); // ajax for not logged in users 

1.2、民间的方法

这个方法是在AJAX请求的时候,判断action等关键的参数来调用functions里相关函数,如:

  1. function _bbbb() 
  2. { 
  3.  if($_POST['action']=='bbbb') 
  4.  { 
  5.   $id=$_POST['id']; 
  6.   $json['info']='rand='.rand(0,$id); 
  7.   header("Content-Type: application/json"); 
  8.   echo json_encode($json); 
  9.   exit; 
  10.  } 
  11. } 
  12. add_action('init', '_bbbb'); 

也可以这样:

  1. function _bbbb() 
  2. { 
  3.  if($_POST['action']=='bbbb') 
  4.  { 
  5.   $id=$_POST['id']; 
  6.   $respond='rand='.rand(0,$id); 
  7.   echo $respond; 
  8.   die(); 
  9.  } 
  10. } 
  11. add_action('init', '_bbbb'); 

2、两种AJAX方法的效率

本地网速测试结果,发送的数据有id和action,很小量的数据.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表