2011-03-04 71 views
1

我在玩wordpress,从自定义页面将内容加载到我的主题中。我所拥有的是:将URL(GET)var传递给Javascript

的header.php

<script type="text/javascript"> 
$("#another").click(function(){ 
    $("#randomPost") 
      .text("... loading ...") 
      .load("/wp/ajax-page/?id=<? echo $id; ?>+cachebuster=" + Math.floor(Math.random()*10001)); 
    return false; 
}); 
</script> 

的index.php

<a href="#?id=1" id="another">Get another!</a> 

ajax_page.php(HTTP://本地主机/ WP/AJAX页面/)

<?php 
/* 
Template Name: AJAX 
*/ 
?> 

<? 
$id = $_GET['id']; 
?> 
<?php 
    query_posts('showposts=1&id='.$id.''); 
    the_post(); 
?> 

<a href='<?php the_permalink(); ?>'><?php the_title(); ?></a> 

一切工作正常,这是我发现加载数据到一个div下的WordPress(使用JavaScript)更简单的方式。我的问题是,我无法通过URL传递id Var,有什么想法?

非常感谢这么多人,我希望你能帮助我。

回答

1
<script type="text/javascript"> 
$("#another").click(function(){ 
    $("#randomPost") 
      .text("... loading ...") 
      .load("/wp/ajax-page/?id=<?php echo $id; ?>&cachebuster=" + Math.floor(Math.random()*10001)); 
    return false; 
}); 
</script> 

问题是......在负载上。您正在打印$ id,但您忘了添加&,以便发送id参数和cachebuster参数。他们在一起。

+0

<脚本类型= “文本/ JavaScript的”> $( “#另一个”)。单击(函数(){ $( “#randomPost”) 的.text( (“... loading ...”) .load(“/ wp/ajax-page /?cachebuster =”+ Math.floor(Math.random()* 10001)); return false; }); 这工作正常! – Alberto 2011-03-04 03:36:18

+0

我忘了。看到这篇文章[链接](http://www.netlobo.com/url_query_string_javascript.html)。使用函数获取GET参数,而不是将其打印在JavaScript代码上。有很多类似的功能,但这是google = P上的第一个链接 – Joseadrian 2011-03-04 03:37:41

0

尝试改变<? echo $id; ?>document.URL.split('#?id=')[1]