我正在尝试在用户点击链接到页面single.php
这是我的代码
<a href='#' id='8' class='clickme' style='font-weight:bold;color:white;font-size:16px;'>";
在function.php
中,我输入了以下代码:
/////////////////////////////////////////////////////////
add_action( 'wp_head', 'myajaxcall' );
function myajaxcall(){ ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
jQuery(".clickme").click( function() {
// We'll pass this variable to the PHP function example_ajax_request
var id = $('.clickme').attr('id');
// This does the ajax request
$.ajax({
url: <?php echo admin_url( 'admin-ajax.php'); ?>,
data: {
'action':'get_sidebar_request',
'page_id' : id
},
// beforeSend: function (jqXHR, settings)
// {
// alert( url = settings.url);
//},
success:function(data){
alert(data);
},
error: function(errorThrown){
//alert(errorThrown);
}
});
});
});
</script>
<?php }
add_action( 'wp_ajax_get_sidebar_request', 'idAjax' );
add_action( 'wp_ajax_nopriv_get_sidebar_request', 'idAjax' );
function idAjax()
{
require( get_template_directory() . '/single.php' );
}
/////////////////////////////////////////////////////////////////////
在文件`single.php
中,当我想获取传递的变量时,我把这段代码写成:
$page_id=0;
$page_id = $_REQUEST['page_id'];
echo "page_id=".$page_id;
但变量未传递给single.php
。我试着回应它,没有任何反应。
你能帮助我吗?
答案 0 :(得分:0)
您可以使用Google Chrome中的网络工具来调试和查看已发送/已接收的数据。 如果发送时“id”不为null,请尝试使用$ _POST在php文件中输出数据,如下所示:
var_dump($_POST);
答案 1 :(得分:0)
检查一下:
$.ajax({
url: <?php echo admin_url( 'admin-ajax.php'); ?>,
data: {
'action':'get_sidebar_request',
'page_id' : id
},
并在网址值
中添加双引号$.ajax({
url: "<?php echo admin_url( 'admin-ajax.php'); ?>",
data: {
'action':'get_sidebar_request',
'page_id' : id
},
如果您没有看到您的ajax电话,则代码中会出现javascript错误。
您在浏览器控制台中有任何错误吗?