私は同様の質問をたくさん読んだが、私が抱えている問題を理解していないようだ。ここでは(単に戻り値を取得するために簡略化され)私のプラグインファイルがあります:私は、ブラウザでそれをステップ実行することができるよのでプラグインが0を返すWordPress Ajax
// add JS file
add_action('wp_enqueue_scripts', 'ajax_patient_login_enqueue_scripts');
function ajax_patient_login_enqueue_scripts() {
wp_enqueue_script('patient-login-ajax-scripts', plugins_url('/js/scripts.js', __FILE__), array('jquery'), '1.0', true);
// this sets up hooks that the javascript file can use to access ajax calls
wp_localize_script('patient-login-ajax-scripts', 'patientlogin', array(
'ajax_url' => admin_url('admin-ajax.php')
));
}
// login user
add_action('wp_ajax_nopriv_client_login', 'client_login');
add_action('wp_ajax_client_login', 'client_login');
function client_login() {
return 123;
}
私のJavaScriptは、正しく読み込まれています。この問題は、「client_login」というアクションにアクセスする能力に結びついているようです。ここにJSがあります:
// handle login
function handleLogin() {
$.ajax({
url: patientlogin.ajax_url,
data: { action: 'client_login' },
success: function(result) {
// other functions...
}
});
}
「結果」は常に0です。理由はわかりません。ブラウザは問題なくajax_urlを見つけたようですが、アクションを見つけることができません。私はおそらく明らかに何かを見逃してしまったでしょうが、私はそれを見ることができず、どんな助けも大いに評価されるでしょう。
。ありがとう!!! – Nate