Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript history.pushState是否在页面上重新定义变量?_Javascript_Php_Jquery_Html_Wordpress - Fatal编程技术网

Javascript history.pushState是否在页面上重新定义变量?

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变量,因为它在客户端

我正在wordpress站点中使用
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
的同时,您可能会执行其他操作,但问题中没有足够的代码来重现问题。