Ajax通信でどんなことをやっているのか

どこの行がどんなことをやっているかのメモです。 とてもわかりやすく教えていただいたので。


ブラウザ側の処理

<script> var wp_url_admin_ajax = '<?php echo admin_url('admin-ajax.php'); ?>'; </script>
<script>
//Ajaxに処理の合図を出す
  jQuery(function ($) {
    $.ajax({
      type: 'POST',
      url: wp_url_admin_ajax,
      data: {
        'action': 'tell_me'
      },
//受け取ったJSONファイルを元にもどしてブラウザに渡す
      success: function (response) {
        json = eval("(" + response + ")");
        if (json.err) {
          result = "error:404";
        } else {
          console.log(json);
        }
      }
    });
  });
</script>

サーバー側の処理

add_action('wp_ajax_tell_me', 'tell_me');  // ログイン状態のユーザーからのアクセスで動作する
add_action('wp_ajax_nopriv_tell_me', 'tell_me'); // 非ログインのユーザーからのアクセスで動作する

//サーバーで行われる処理
function tell_me() {
  $res = "answer";

  echo json_encode($res, JSON_UNESCAPED_UNICODE); //AjaxはJSONファイルしか扱えないので、JSON形式にエンコードする

  die();
}