[英]How to get data without refreshing page between 2 or more user page
嗨,我正在我们的工厂制作进度控制页面。我用 mysql,php 制作系统。
一切都完成了,但我想知道的只有一件事:
现在,如果有人从系统中更改/添加/删除数据,其他人必须刷新页面才能看到新数据...
没有任何人刷新任何页面,一切如何改变?
有没有这样的途径或文档等?
谢谢。
您可以使用 javascript 定期在后台更新页面(无需刷新)(更准确地说是 jQuery 的 ajax)
它基本上向端点发送请求(web 地址),然后当结果返回时,调用您的回调 function 对数据执行任何操作
你可以从这里开始https://www.w3schools.com/jquery/ajax_ajax.asp
这是一个使用 ajax 的后台异步请求的工作示例,它是一个简单的页面,它每秒获取比特币的当前汇率(来自公共 API)并显示它。
启动和运行起来真的很简单,而且它还有很多更多的功能(比如发送自定义标头、发送 POST 或其他请求、在正文中发送数据等)
function fetchData() { $.ajax({ url: 'https://api.coinranking.com/v1/public/coin/1', success: function(data) { $('#value').html(parseFloat(data.data.coin.price).toFixed(3)); let d = new Date(); $('#time').html(`${d.getFullYear()}/${(d.getMonth() + 1).toString().padStart(2, '0')}/${d.getDate().toString().padStart(2, '0')} ${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}:${d.getSeconds().toString().padStart(2, '0')}`); } }) } $(document).ready(function() { fetchData(); window.setInterval(fetchData, 1000) })
.main { display: flex; flex-direction: column; align-items: center; }.value { font-weight: bold; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class='main'> <p class='title'>Current Bitcoin exchange rate:</p> <span class='value'><span id="value">0</span><span>$</span></span> <p>(As of <span id='time'></span>)</p> <div>
$(document).ready(function(){
load_folder_list();
function load_folder_list()
{
var action = "fetch";
$.ajax({
url:"planlama_action.php",
method:"POST",
data:{action:action},
success:function(data)
{
$('#folder_table').html(data);
}
});
}
我从上到下更改了代码......就像这样:
$(document).ready(function(){
load_folder_list();
function load_folder_list()
{
var action = "fetch";
$.ajax({
url:"planlama_action.php",
method:"POST",
data:{action:action},
success:function(data)
{
$('#folder_table').html(data);
setInterval(load_folder_list,1000);
}
});
}
它对我有用.. 感谢 Amir。
但现在唯一的问题是..有时web页面的代码停止工作..
这是不规则的......有时工作完美......有时变得很慢等等......
为什么会这样? 错误在哪里? (注意:在这个页面我上传文件,更改文本等)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.