こんにちは、私はいくつかのwordpress ajaxを使用しようとしています。私の最初のAjaxリクエストはうまく動作しますが、2番目のものはうまく動作しません。Second Wordpress Ajax not firing
PHP
//Add Students Details to DB
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
\t $fName = $_POST['fName'];
\t $lName = $_POST['lName'];
\t $dob = $_POST['dob'];
\t $gender = $_POST['gender'];
\t $diet = $_POST['diet'];
\t $current_id = get_current_user_id();
\t global $wpdb;
\t $result = $wpdb->insert(
\t \t 'wp_students',
\t \t array(
\t \t \t 'ID' => NULL,
\t \t \t 'first_name' => $fName,
\t \t \t 'last_name' => $lName,
\t \t \t 'birthdate' => $dob,
\t \t \t 'gender' => $gender,
\t \t \t 'dietary_requirements' => $diet,
\t \t \t 'user_id' => $current_id
\t \t)
\t);
\t echo json_encode($result);
\t wp_die();
}
var data_value = {
action: 'my_action',
fName: $(acc[i]).find('input.fName').val(),
lName: $(acc[i]).find('input.lName').val(),
dob: $(acc[i]).find('input.dob').val(),
gender: $(acc[i]).find('select.gender').val(),
diet: $(acc[i]).find('textarea.diet_req').val()
};
$.ajax({
type: "post",
dataType: "json",
url: my_ajax_object.ajax_url,
data: data_value,
success: function(msg) {
if (msg == false) {
$('#insert_status').html('<strong><span style="color: red;">Error: </span></strong>Details Have Not Been Updated');
return false;
}
},
error: function(xhr, status, error) {
var i = JSON.parse(xhr.responseText)
alert(i.Message);
}
});
作品罰金が起こっている理由を教えてくださいすることができます
動作しません:
PHP
//Delete Students Details
add_action('wp_ajax_my_delete', 'my_action_callback_delete');
function my_action_callback_delete() {
\t echo 'here';
\t global $wpdb;
\t $result = $wpdb->delete('wp_students', array('usesr_id' => get_current_user_id()));
\t echo json_encode($result);
\t wp_die();
}
をJS
var value = {
action: 'my_delete'
};
$.ajax({
type: "post",
dataType: "json",
url: my_ajax_object.ajax_url,
data: value,
success: function(msg) {
if (msg == false) {
$('#insert_status').html('<strong><span style="color: red;">Error: </span></strong>Details Have Not Been Updated');
return false;
}
},
error: function(xhr, status, error) {
var i = JSON.parse(xhr.responseText)
alert(i.Message);
}
});
あなたは私は素晴らしいだろう手助けができれば。 Wordpress Ajaxは、普通のAjaxほど単純ではありません。
すべきですか? 0や-1のように?あなたはログインしているユーザーのみの要求を発していますか? https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)をチェックして、正しい方法を実行しているかどうかを確認してください。 – silver
ちょっと@silver私はワードプレスコーデックスに従っています。私はすべての応答を受信していない奇妙です。 –
ログインしていないユーザーのコードを実行していますか? '' 'add_action( 'wp_ajax_nopriv_my_delete'、 'my_action_callback_delete');' ''がまだ動作していない場合は、問題があなたのjsコードに含まれていることを確認してください。 – silver