Javascript JSON数组值,附加到URL并刷新
我试图做一种形式的URL循环,但不是给定的URL,而是将JSON对象的值附加到URL并循环这些值 我的主要思想正在发挥作用,但并不完全正确。现在,有问题的页面的链接带有一个“display”值,因此可以举一个例子Javascript JSON数组值,附加到URL并刷新,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我试图做一种形式的URL循环,但不是给定的URL,而是将JSON对象的值附加到URL并循环这些值 我的主要思想正在发挥作用,但并不完全正确。现在,有问题的页面的链接带有一个“display”值,因此可以举一个例子 showdisplay.php?display=3 这将运行一个查询,以获取分配给display 3的任何页面的所有页面信息,这是有效的 我想要的是,一旦该查询返回了我的结果(然后是JSON编码的结果),循环遍历JSON对象,在URL中添加第一个元素的pageID,在元素的持续时间之
showdisplay.php?display=3
这将运行一个查询,以获取分配给display 3的任何页面的所有页面信息,这是有效的
我想要的是,一旦该查询返回了我的结果(然后是JSON编码的结果),循环遍历JSON对象,在URL中添加第一个元素的pageID
,在元素的持续时间之后(以秒为单位),刷新页面并再次执行相同的操作。继续循环并返回到对象末尾的第一个元素
因此,给定这个JSON对象:
[{"pageID":"104",
"display_id":"3",
"duration":"56",
"page_id":"104",
},
{"pageID":"116",
"display_id":"3",
"duration":"54",
"page_id":"116",
}]
以下是我在单击“链接到页面”时所期望的内容:
在即时页面加载时,URL将是showdisplay.php?display=3&pageID=104
56秒后(JSON中的“持续时间”),刷新页面并将URL设置为showdisplay.php?display=3&pageID=116
54秒后,再次刷新回pageID 104
基本上,当遵循该链接时,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>
设obj=;
让params=新URL(document.location);
参数集(“pageID”,对象[0].pageID);
参数集(“显示”,对象[0]。显示id);
让url=window.location.href.split(“?”)[0];
设nextURL=url+“?”+params.toString();
setTimeout(函数(){
window.location.href=nextURL;
},对象持续时间*1000);
obj.forEach(函数(o){console.log(o)})
我已经被困在这个问题上好几天了,不知道我做错了什么,也不知道如何正确地循环这个问题。我觉得它不应该太难,但我天生不是一个JS程序员,我完全被卡住了。有人能帮我纠正这个错误并正确循环吗?我删除了它,并用不同的json对它进行了清理here@Andreas这对我的期望更为明确