无法使用AJAX访问数据库中的数据

时间:2018-11-13 作者:Limpuls

我正试图在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>

1 个回复
最合适的回答,由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);
});

结束

相关推荐

当用户清空输入时,AJAX搜索会显示所有结果吗?

刚刚设法让ajax live search工作,这意味着我可以在输入中输入字符时立即获得结果。清除输入时出现问题,它将显示所有结果。当页面首次加载时,它不会显示所有内容。我不想在用户清空输入时显示所有结果。这是当前代码:输入:<input type=\"text\" name=\"keyword\" id=\"keyword\" onkeyup=\"fetch()\"></input> <div id=\"datafetch\">Search results w