gpt4 book ai didi

javascript - 每秒刷新一次php代码

转载 作者:行者123 更新时间:2023-12-03 08:30:26 26 4
gpt4 key购买 nike

我在 iframe 中有一个可见的登录屏幕,当有人在 iframe 上登录时,主页上应该会弹出一个菜单按钮。

这是我现在拥有的代码:

<?php   if (isset($player)){
echo'
<ul class="nav-header pull-right">
<li>
<div class="btn-group">
<button class="btn btn-default btn-image dropdown-toggle" data-toggle="dropdown" type="button">
<img src="assets/img/avatars/avatar10.jpg" alt="Avatar">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li class="dropdown-header">Profile</li>
<li>
<a tabindex="-1" href="base_pages_profile.html">
<i class="si si-user pull-right"></i>
<span class="badge badge-success pull-right"></span>Profile
</a>
</li>
<li>
<a tabindex="-1" href="javascript:void(0)">
<i class="si si-settings pull-right"></i>Settings
</a>
</li>
<li class="divider"></li>
<li class="dropdown-header">Actions</li>
<li>
<a tabindex="-1" href="logout.php">
<i class="si si-logout pull-right"></i>Log out
</a>
</li>
</ul>
</div>
</li>
</ul>'; } ?>

一旦有人登录,isset($player) 就会变为 true,但此代码仅在刷新页面时才有效,如何创建此代码在有人登录后立即刷新的内容?

最佳答案

您需要使用AJAX;使用通常称为 Short Polling 的技术。您可以做的是,使用 setInterval,您可以每秒触发一个 AJAX 请求并获取新代码。每一秒对于服务器来说都难以处理,所以也要小心:

setInterval(function () {
$("#divId").load("/path/to/php/response.php");
}, 1000);

1000 是一秒,以毫秒为单位。

另一种技术是将请求发送到服务器,这将创建一个在一段时间内保持打开状态的请求。如果在此时间间隔内收到更新,则将响应发送到客户端,否则连接将终止。这种技术称为Long Polling 。在代码中它看起来像:

(function poll() {
setTimeout(function() {
$.ajax({ url: "server", success: function(data) {
sales.setValue(data.value);
}, dataType: "json", complete: poll });
}, 30000);
})();

但是,有时,每 10 秒向服务器发送一次请求可能并不是一件的事情。那么,在这个绝望的时刻,我们该给谁打电话呢? 套接字流。客户端向服务器发送请求。该请求与服务器创建一个不确定的流,服务器知道在收到更新的情况下向客户端发送响应。

进一步阅读:

关于javascript - 每秒刷新一次php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33356986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com