一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Wordpress中AJAX方法使用详解

时间:2015-04-20 编辑:简简单单 来源:一聚教程网


1、哪两种AJAX方法

1.1、官方的方法
 

主要的思路是:

在functions里增加wp_enqueue_script和wp_localize_script来增加AJAX的请求地址和调用脚本。如:

$AJAX=array
(
 'URL' => admin_url( 'admin-ajax.php' ),
);
$AJAXURL=get_bloginfo('template_url').'/public/js/Test_ajax.js';
wp_enqueue_script( 'my-ajax-request',$AJAXURL, array( 'jquery' ) );
wp_localize_script( 'my-ajax-request', 'AJAX', $AJAX );
 
function _aaaa()
{
 $id=$_POST['id'];
 $json['info']='rand='.rand(0,$id);
 header("Content-Type: application/json");
 echo json_encode($json);
 exit;
}
add_action( 'wp_ajax_aaaa', '_aaaa' ); // ajax for logged in users
add_action( 'wp_ajax_nopriv_aaaa', '_aaaa' ); // ajax for not logged in users
当然也可以这样:

$AJAX=array
(
 'URL' => admin_url( 'admin-ajax.php' ),
);
$AJAXURL=get_bloginfo('template_url').'/public/js/Test_ajax.js';
wp_enqueue_script( 'my-ajax-request',$AJAXURL, array( 'jquery' ) );
wp_localize_script( 'my-ajax-request', 'AJAX', $AJAX );
 
function _aaaa()
{
 $id=$_POST['id'];
 $respond='rand='.rand(0,$id);
 echo $respond;
 die();
}
add_action( 'wp_ajax_aaaa', '_aaaa' ); // ajax for logged in users
add_action( 'wp_ajax_nopriv_aaaa', '_aaaa' ); // ajax for not logged in users
1.2、民间的方法

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

function _bbbb()
{
 if($_POST['action']=='bbbb')
 {
  $id=$_POST['id'];
  $json['info']='rand='.rand(0,$id);
  header("Content-Type: application/json");
  echo json_encode($json);
  exit;
 }
}
add_action('init', '_bbbb');

也可以这样:

function _bbbb()
{
 if($_POST['action']=='bbbb')
 {
  $id=$_POST['id'];
  $respond='rand='.rand(0,$id);
  echo $respond;
  die();
 }
}
add_action('init', '_bbbb');
2、两种AJAX方法的效率
本地网速测试结果(发送的数据有id和action,很小量的数据):

热门栏目