我正在使用 wordpress ajax 调用从 wordpress 主题 functions.php 中的函数返回简单内容。但是,会返回一个完整的 html 页面。
这是ajax调用
<?php   
$ajax_nonce = wp_create_nonce("iwhq_beginner_select_course");
?>
<script type="text/javascript" language="javascript">
jQuery(document).ready(function(){
jQuery("#beg_golf_course").change(function() {  //do this when course changes
//in Wordpress ajaxurl always points to admin-ajax.php
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
var course_id = 4; 
//Do the ajax
    jQuery.ajax({
        type: "POST", 
        url: ajaxurl,
        //NOTE - the action parameter calls the function in functions.php
        data: { action: 'select_course_aj', course_id: course_id, _ajax_nonce: '<?php echo $ajax_nonce; ?>' },
        //display alert on success
        success: function(html){ 
            alert(html);
        } 
    }); //close jQuery.ajax(
    return false;
    });
});
</script>
这是functions.php中的函数
function select_course_func(){
echo $_POST["course_id"];
die();
}
add_action('wp_ajax_select_course_aj','select_course_func');
包含 jquery ajax 调用的页面的 HTML 实际上显示在警报中而不是回显中。
有大神能告诉我为什么吗?
谢谢马克