前端的Wordpress Ajax函数返回整个html

时间:2015-07-06 17:05:35

标签: javascript ajax wordpress

我刚刚开始在Wordpress前端使用Ajax。 js被正确加载并传递数据,但作为回报,我得到了一个完整的html响应而不仅仅是“ok”。

当我直接导航到此网址时,它会正确打印出“确定”:https://www.mywebsite.com/wp-admin/admin-ajax.php?action=checkins_show

知道我做错了什么吗?

这是我的设置:

function.php内:

add_action( 'wp_enqueue_scripts', 'add_frontend_ajax_javascript_file' );
function add_frontend_ajax_javascript_file(){
    wp_enqueue_script( 'ajax_custom_script', get_template_directory_uri() . '/assets/js/checkins.js', array('jquery') );
    wp_localize_script( 'ajax_custom_script', 'frontendajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
}

add_action( 'wp_ajax_checkins_show', 'checkins_show' );
add_action( 'wp_ajax_nopriv_checkins_show', 'checkins_show' );

function checkins_show() {
    echo 'ok';
    die();
}

checkins.js

$(document).ready(function(){

    var el = $("#checkins_show");
    var loc_id = el.data('locid');
    var url = el.data('href');

    $.ajax({
        type: 'post',
        url: url,
        data: { 
            action: 'checkins_show',
            locid: loc_id
        },
        success : function( response ) {

            console.log(response);

            if( response === 'ok' ) {
                el.html('worked');
            }
        }       
    });

    return false;

});

实际呈现的HTML:

<div data-locid="111" data-url="https://www.mywebsite.com/wp-admin/admin-ajax.php?action=checkins_show" id="checkins_show"></div>

0 个答案:

没有答案