あなたは正しくAJAXコールバックを登録しました。コードはAJAXアクションがトリガされたときに実行されます。関数はエコーされるべきではありません。
コールバック自体に問題のカップルがあります:
- 変数ではなく、生成する出力
- が
die()
上記return文がありますので、その行が
に達することはありません戻っています修正版:
function ybr_client_results() {
/**
* I've left this unaltered for the sake of answering the question at hand.
*
* Don't forget to check the value exists and sanitize it correctly.
*/
$client_details = $_POST['client_details'];
// This AJAX callback needs to output something, not return.
echo $client_details;
// As another user mentioned, there's a WP specific die function.
wp_die();
}
add_action('wp_ajax_ybr_client_results', 'ybr_client_results');
add_action('wp_ajax_nopriv_ybr_client_results', 'ybr_client_results');
ドキュメント:https://codex.wordpress.org/AJAX_in_Plugins
あなたはエコーなければならない理由は何それ以外のajax関数はajaxスクリプトから呼び出されるはずです。また、WordPress関数wp_die()を使用することをお勧めします。 – heero
はい、エコーはまったく意味がありません... 'wp_send_json_success'と' wp_send_json_error'関数を探してください – brasofilo
この$ client_details変数の値を渡してデータベースからデータを取得したいだけです –