从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
并且您希望将带有值test
的myparam
传递给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()
?