从JavaScript到PHP的变量

这是代码:

$('#sousmenu a').click (function (){ startSlideshow(); return false; }); 

问题是我喜欢HREF来改变并被PHP抓住,现在它什么也没做,但是编写?folder=portraits有效的。

这是页面 。

****更简单*****也许我不清楚,有时会发生!

我想将链接href发送到这个PHP函数,

  

所以点击链接animaux会将animaux发送到glob() PHP函数,并获取photos-animaux文件夹中的所有.jpg文件。

点击肖像将发送照片肖像等。

如果要修改URL并让PHP解释器选择添加/更改的变量,则必须重新加载页面。 只是改变URL没有做任何事情,因为JS是在PHP处理之后执行的。

如果您的网站位于http://example.com并且您希望将带有值testmyparam传递给PHP,那么您应该在JS中添加以下内容:

 document.location = 'http://example.com?myparam=test'; 

这将重新加载你的页面,添加一个新的参数,可以通过简单地使用$_GET['myparam']变量在PHP中访问。

您可能还想考虑使用AJAX动态更改页面内容而无需刷新整个页面,但这有点复杂。

查看浏览器中的源代码。

Php是服务器端,这意味着您需要使用ajax或重新加载整个页面才能获得响应。

在jquery网站上有一个很好的ajax教程部分,阅读之后你应该能够做你想做的事: http : //docs.jquery.com/Tutorials : Getting_Started_with_jQuery#Rate_me : _Using_Ajax

引用该主题的评论:

是的!,问题是我捕获了html链接(href)上的点击并使用php中的post var做了一些事情。 问题是我无法在捕获时强制更改地址栏! – marc-andre menard

为此,您只需在JavaScript中使用window.location或在PHP中使用header('location') 。 但这会使你的点击function中的整个JavaScript / jQuery变得多余,因为它会创建一个新的请求。 也许您更startSlideshow() $(document).ready()startSlideshow() $(document).ready()