[WordPress] AJAX – ワードプレスは何も返されない

スポンサーリンク

質問

私のコードを基に、受け入れられた答えはここ:

ワードプレス – jQuery の ajax の POST 要求を使用してフェッチ ユーザー情報

header.php

<?php $admin_ajax_path = ABSPATH . 'wp-admin/admin-ajax.php'; ?>

<script>
  var absAjaxPath = "<?php echo $admin_ajax_path; ?>";
</script>

functions.php

add_action('wp_ajax_nopriv_ajax_request', 'ajax_handle_request');
add_action('wp_ajax_ajax_request', 'ajax_handle_request');

function ajax_handle_request(){
  switch($_REQUEST['fn']){
    case 'getUserMeta':
      $output = ajax_user_meta($_REQUEST['id']);
      break;
    default:
      $output = 'That is not a valid FN parameter. Please check your string and try again';
      break;
  }
  $output = json_encode($output);
  if(is_array($output)){
    return $output;
  }else{
    echo $output;
  }
}

function ajax_user_meta($id){
    $theMeta = get_user_meta( $id, 'tel', true );
  return $theMeta;
}

私の js ファイル

jQuery('.list-group-item').click(function() {

  var id = jQuery(this).attr('id');
  alert(id);
  jQuery.ajax({
    url: 'http://sub.domain.com/wp-admin/admin-ajax.php',
    url: absAjaxPath, //this one returns a not four error
    data: {'action' : 'ajax_request', 'fn': 'getUserMeta', 'id': id},
    dataType: 'json',
    success: function(data) {
      //We expect a JSON encoded array here, not an HTML template.
      alert(data);
    }
  });     
  return false;
});

2

に設定

alert(id)

トリガー id を持つ要素をクリックします。その id を持つ設定ユーザーがあります。それ以外は、何も起こりません。Ajax の成功関数トリガーで、

alert(data)

べきではないか?

答え

追加

die();

または

exit();

、あなたの PHP の関数

0

を返すように AJAX を介して呼び出すことが非常に最後の行

http://stackoverflow.com/questions/28645939/ajax-not-returning-anything-wordpress

スポンサーリンク

Leave a Reply