Javascript history.pushState是否在页面上重新定义变量?
我正在wordpress站点中使用Javascript history.pushState是否在页面上重新定义变量?,javascript,php,jquery,html,wordpress,Javascript,Php,Jquery,Html,Wordpress,我正在wordpress站点中使用history.pushState()在动态加载新帖子(AJAX)后更改页面的url/标题。我想将每个帖子的id存储在一个数组中,但由于某种原因,数组变量被重新定义 在页面顶部,我定义了数组变量: <?php $array = array(); ?> 因此,当我将数据推送到数组时,它只推送到索引0 非常感谢您的帮助。pushState仅更改历史堆栈 它不会改变JavaScript可以访问的任何其他变量 它不可能更改任何PHP变量,因为它在客户端
history.pushState()
在动态加载新帖子(AJAX)后更改页面的url/标题。我想将每个帖子的id存储在一个数组中,但由于某种原因,数组变量被重新定义
在页面顶部,我定义了数组变量:
<?php $array = array(); ?>
因此,当我将数据推送到数组时,它只推送到索引0
非常感谢您的帮助。
pushState
仅更改历史堆栈
它不会改变JavaScript可以访问的任何其他变量
它不可能更改任何PHP变量,因为它在客户端运行,不会触发任何HTTP请求。PHP是服务器端,每次加载时都会对其进行一次性评估。因此,它为什么是0
正如@Quentin在他的回答中所说:
history.pushState
是JavaScript(前端)。它与PHP(后端)没有任何联系。感谢您的回复。这正是我的想法,但我没有其他理论解释为什么变量会自行重置。我认为每次调用history.pushState时,整个页面都会“刷新”,但这只是一个理论。history.pushState
不会这样做。在调用pushState
的同时,您可能会执行其他操作,但问题中没有足够的代码来重现问题。