私はAjaxを使ってちょっとしたことをやろうとしました。私はdivを置き換えようとしているだけです。
これが私がこれまでにしたことです。
add_menu_page
を使って管理メニューを作成しました。
それから私はテキストフィールドでそのページにフォームを追加します。送信ボタンをクリックしたら、divを置き換えるだけです。しかし、うまくいきませんでした。ブラウザでコンソールをチェックするとと表示されます。TypeErrorが見つかりません:未定義のプロパティ 'ajax'を読み取れません
function myajaxfunction() {
$.ajax({ //ajax request
url: ajaxurl,
data: {
'action':'rs_like_request',
'post_type' : $('#post_type').val() // value of text box having id "post_type"
},
success:function(data) { //result
$(".showdiv").html(data); //showdiv is the class of the div where we want to show the results
},
error: function(errorThrown){
console.log(errorThrown);
}
});
}
<form action="" method="post">
<label>Write post type : </label>
<input type="text" name="post_type" id="post_type" value=""/>
<input type="button" value="Show Post Titles" onclick="myajaxfunction()"/>
<div class="showdiv"></div>
</form>
function rs_like_count() {
if ( isset($_REQUEST) ) { // $_REQUEST is having all the data sent using ajax
$post_type= $_REQUEST['post_type'];
echo $post_type;
}
die();
}
add_action( 'wp_ajax_rs_like_request', 'rs_like_count' );
Uncaught TypeError:未定義のプロパティ 'ajax'を読み取れません
@ Sasa1234、jQueryが未定義のために起こります。ご覧になってください @ EAMann答え 。だから、あなたのJSコードはこのようにすべきです:
function myajaxfunction() {
if ( undefined !== window.jQuery ) {
jQuery.ajax({ //ajax request
url: ajaxurl,
data: {
'action':'rs_like_request',
'post_type' : jQuery('#post_type').val() // value of text box having id "post_type"
},
success:function(data) { //result
jQuery(".showdiv").html(data); //showdiv is the class of the div where we want to show the results
},
error: function(errorThrown){
console.log(errorThrown);
}
});
}
}