我正在尝试执行一种形式的URL循环,但我不想给定URL,而是希望将JSON对象中的值附加到url并对其进行循环。
我的主要想法可行,但这并不完全正确。现在,指向相关页面的链接带有“显示”值,因此示例如下:
showdisplay.php?display=3
这将运行一个查询,以获取分配给显示3的所有页面的所有页面信息,并且可行。
我想要的是,一旦查询返回我的结果,然后对结果进行JSON编码,就循环遍历JSON对象,将URL中第一个元素的pageID
附加到duration
之后的元素(以秒为单位)刷新页面,然后再次执行相同的操作。继续循环执行此操作,并返回到对象末尾的第一个元素。
因此指定了此JSON对象:
[{"pageID":"104",
"display_id":"3",
"duration":"56",
"page_id":"104",
},
{"pageID":"116",
"display_id":"3",
"duration":"54",
"page_id":"116",
}]
点击链接```链接到页面:
showdisplay.php?display=3&pageID=104
showdisplay.php?display=3&pageID=116
基本上,当跟随该链接时,该URL永远不应仅说showdisplay.php?display=3
,而应始终具有从JSON分配给它的pageID
我的脚本:
<script type="text/javascript">
let obj = <?php echo $showDisplays; ?>;
let params = new URL(document.location).searchParams;
params.set("pageID", obj[0].pageID);
params.set("display", obj[0].display_id);
let url = window.location.href.split('?')[0];
let nextURL = url + "?" + params.toString();
window.setTimeout(function () {
window.location.href = nextURL;
}, obj.duration * 1000);
obj.forEach(function(o){console.log(o)})
</script>
我已经坚持了好几天,不知道我在做什么错或如何正确循环。我觉得应该不太难,但是我不是天生的JS编码器,我完全陷入困境。谁能帮我纠正这个问题并正确循环吗?