Wordpress中AJAX方法使用詳解

來源:互聯網
上載者:User


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,很小量的資料):

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.