我尝试使用$.post
将JavaScript数组的内容发送到不同的页面,但它不起作用-相应的$_POST
未设置...
谁能告诉我怎么了
下面是第1页的JavaScript代码:
<script type="text/javascript">
var i = sessionStorage.length;
var categoriesTab = [];
for (let j = 0; j < i; j++) {
if (sessionStorage.getItem(sessionStorage.key(j)) == 'active') {
categoriesTab.push(sessionStorage.key(j));
}
}
const liste = document.getElementById('liste');
liste.addEventListener('click', function (event){
event.preventDefault();
if (window.location.href == 'https://dom.fr/page1/'){
$.post(
'page2.php',
{
categoriesActives : categoriesTab
}
)
}
window.location.assign('https://dom.fr/page2/');
});
</script>
字符串
设置了categoriesTab
变量,一切似乎都正常。但是当我到第2页的时候,$_POST
是空的...:
<?php
$array = [];
if (isset($_POST['categoriesActives'])) {
$array = $_POST['categoriesActives'];
} else {
$array = ['a', 'z', 'e', 'r'];
}
?>
型
2条答案
按热度按时间s8vozzvw1#
您提出了两个请求:
$.post('page2.php', ...
向page2.php
发送一个 AJAX POST请求,其中包含您指定的POST数据。您可以通过检查浏览器开发人员工具中的网络选项卡来查看该请求。window.location.assign('https://dom.fr/page2/');
使用普通GET请求将浏览器重定向到指定的URL。在这种情况下,$_POST为空,因为它是另一个请求。qnakjoqk2#
您可以在page2.php中保存数组
字符串
接下来像你一样重定向用户,但是到page3.php
型
在page3.php中,你会得到这个数组:
型