我正试图在wordpress中首次调用AJAX。我遵循了一些教程,到目前为止已经达到了这一点。但当我试图安慰的时候。将从数据库中获取的数据记录在AJAX调用中,我发现以下错误:
未捕获引用错误:未定义数据
代码:
功能。php
function my_ajax_handler(){
global $wpdb;
$name = $wpdb->get_results("SELECT * FROM username");
echo $name;
}
add_action( \'wp_ajax_call_my_ajax_handler\', \'my_ajax_handler\' );
add_action( \'wp_ajax_nopriv_call_my_ajax_handler\', \'my_ajax_handler\' );
function enqueue_styles() {
wp_enqueue_style("child-style", get_template_directory_uri() .\'/style.css\');
wp_enqueue_style("parent-style", "https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css");
wp_enqueue_script("jquery", \'https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous\');
wp_enqueue_script( \'my-ajax-script\', get_stylesheet_directory_uri() . \'/path/to/script.js\', array(\'jquery\') );
wp_localize_script( \'my-ajax-script\', \'my_ajax_object\', array( \'ajax_url\' => admin_url( \'admin-ajax.php\' ) ) );
}
add_action("wp_enqueue_scripts", "enqueue_styles");
测验记录页面。php
<script>
jQuery.ajax({
type:"POST",
url: my_ajax_object.ajax_url,
data: { \'action\': \'call_my_ajax_handler\' }
}).done(function() {
console.log(data);
});
</script>
最合适的回答,由SO网友:Gufran Hasan 整理而成
将数据作为参数传入done(function(data)
功能。
<script>
jQuery.ajax({
type:"POST",
url: my_ajax_object.ajax_url,
data: { \'action\': \'call_my_ajax_handler\' }
}).done(function(data) {
console.log(data);
});