надеются, что вы можете вести меня, я пытаюсь запустить этот учебник: http://www.inkthemes.com/how-to-use-ajax-in-wordpress-for-data-insertion/#WordPress Ajax не обновление базы данных
Это мой Wordpress Plugin Javascript:
jQuery(document).ready(function(){
jQuery("#submit").click(function(){
console.log("click caught");//this bit works
var name = jQuery("#dname").val();
jQuery.ajax({
type: 'POST',
data: {"action": "post_word_count", "dname":name},
success: function(data){
alert(data);//this alert appears full of html
}
});
});
});
это плагин PHP:
function show_form(){
echo "<form>";
echo "<label>Name</label>";
echo "<input type='text' id='dname' name='dname' value=''/><br/>";
echo "<input type='button' id='submit' name='submit' value='Submit'/>";
echo "</form>";
}
add_action('the_content', 'show_form');
function post_word_count(){
$name = $_POST['dname'];
global $wpdb;
$wpdb->insert(
'bio',
array(
'bio_surname' => $name
),
array(
'%s'
)
);
die();
return true;
}
//
add_action('wp_ajax_post_word_count', 'post_word_count'); // Call when user logged in
add_action('wp_ajax_nopriv_post_word_count', 'post_word_count'); // Call when user in not logged in
?>
так что то, что я нахожу в своем отладчике, состоит в том, что данные POST консоли - это «dname», представленные в форме ввода. однако таблица базы данных «bio» не обновляется. все, что происходит, - это предупреждение, заполняемое всем html сайта, на котором работает. то есть. RESPONSE в консольном отладчике представляет собой массивный html-текст.
Итак, я не понимаю, почему данные = мой сайт html И почему таблица «bio» не обновляется.
спасибо! отлично работает сейчас :) –