我正在使用wordpress ajax调用来从wordpress主题functions.php中的函数返回简单的内容。但是,将返回完整的html页面。WordPress的Ajax从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>
这是
function select_course_func(){
echo $_POST["course_id"];
die();
}
add_action('wp_ajax_select_course_aj','select_course_func');
包含了jQuery AJAX调用页面的HTML实际上是显示在警报,而不是在functions.php中的作用回声。
任何天才都能告诉我为什么?
感谢 马克
我在函数.php中包含了select_course_func PHP调用中的nonce调用,但得到了相同的结果。 check_ajax_referer('iwhq_beginner_select_course','_ajax_nonce'); – Markol 2012-04-18 20:43:02
你看过Firebug中的请求/响应了吗? – 2012-04-18 20:46:24
那么究竟是什么提醒?你期待'4'是否正确?最新发生的是你在加载和html 404页面上使用html函数的div吗?检查您发送ajax呼叫的网址。像杰伊布兰查德说,你可以很容易地做到这一点在萤火虫或镀铬网络标签。 – Rooster 2012-04-18 21:35:05