2014-03-28 18 views
0
传递变量与阿贾克斯

我试图传递变量时,在链接用户点击single.php在WordPress

这里是我的代码

<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

您可以使用Google Chrome中的网络工具来调试并查看发送/接收的数据。 如果当您发送“ID”不为空,尝试在你的PHP文件中使用$ _ POST输出数据,像这样:

var_dump($_POST); 
+0

当我打印var_dump($ _ POST);在single.php我得到空。 – user3470599

+0

当我打印var_dump($ _ POST);在single.php我得到空。当我看到ff - >网络我没有看到一个调用url页面ajax-admin.php?page_id = 8我不是那个值发送到ajax-admin.php的值在所有 – user3470599

0

检查:

$.ajax({ 
    url: <?php echo admin_url('admin-ajax.php'); ?>, 
    data: { 
     'action':'get_sidebar_request', 
     'page_id' : id 
    }, 

,并添加双引用url值

$.ajax({ 
    url: "<?php echo admin_url('admin-ajax.php'); ?>", 
    data: { 
     'action':'get_sidebar_request', 
     'page_id' : id 
    }, 

如果你没有看到你的ajax调用,这是你的代码中的JavaScript错误。

浏览器控制台有任何错误吗?

+0

之前我通过url发送数据我尝试打印网址,我得到这个网址“http://fish-magazine.co.il/wp-admin/admin-ajax.php?action=get_sidebar_request&page_id=8”如果我把它复制到浏览器的网址,然后按回车工作我认为问题在于ajax调用不在我的脚本中工作 – user3470599