Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在两个或多个用户页面之间获取数据而不刷新页面_Javascript_Php_Mysql - Fatal编程技术网

Javascript 如何在两个或多个用户页面之间获取数据而不刷新页面

Javascript 如何在两个或多个用户页面之间获取数据而不刷新页面,javascript,php,mysql,Javascript,Php,Mysql,嗨,我正在我们工厂制作一个进度控制页面。。我用mysql、php制作了这个系统 一切都完成了,但我唯一想知道的是: 目前,如果有人从系统中更改/添加/删除数据,其他人必须刷新页面以查看新数据 如果没有人刷新任何页面,一切怎么可能改变 有没有一条途径可以实现这一点,或者有一个文档记录等等 谢谢。您可以使用javascript(更准确地说是jQuery的ajax)定期在后台更新页面(无需刷新) 它基本上向端点(一个web地址)发送一个请求,然后当结果返回时,调用回调函数来处理数据 你可以从这里开始

嗨,我正在我们工厂制作一个进度控制页面。。我用mysql、php制作了这个系统

一切都完成了,但我唯一想知道的是:

目前,如果有人从系统中更改/添加/删除数据,其他人必须刷新页面以查看新数据

如果没有人刷新任何页面,一切怎么可能改变

有没有一条途径可以实现这一点,或者有一个文档记录等等


谢谢。

您可以使用javascript(更准确地说是jQuery的ajax)定期在后台更新页面(无需刷新)

它基本上向端点(一个web地址)发送一个请求,然后当结果返回时,调用回调函数来处理数据

你可以从这里开始

更多解释 这是一个使用ajax的后台异步请求的工作示例,它是一个简单的页面,每秒钟从公共API获取比特币的当前汇率,并显示它

它的安装和运行非常简单,而且它还有很多其他功能(比如发送自定义标题、发送帖子或其他请求、在正文中发送数据等)

函数fetchData(){
$.ajax({
网址:'https://api.coinranking.com/v1/public/coin/1',
成功:功能(数据){
$('#value').html(parseFloat(data.data.coin.price).toFixed(3));
设d=新日期();
$('#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')});
}
})
}
$(文档).ready(函数(){
fetchData();
window.setInterval(fetchData,1000)
})
.main{
显示器:flex;
弯曲方向:立柱;
对齐项目:居中;
}
.价值{
字体大小:粗体;
}

当前比特币汇率:

0$ (截至)


您可以使用javascript(更准确地说是jQuery的ajax)定期在后台更新页面(无需刷新)

它基本上向端点(一个web地址)发送一个请求,然后当结果返回时,调用回调函数来处理数据

你可以从这里开始

更多解释 这是一个使用ajax的后台异步请求的工作示例,它是一个简单的页面,每秒钟从公共API获取比特币的当前汇率,并显示它

它的安装和运行非常简单,而且它还有很多其他功能(比如发送自定义标题、发送帖子或其他请求、在正文中发送数据等)

函数fetchData(){
$.ajax({
网址:'https://api.coinranking.com/v1/public/coin/1',
成功:功能(数据){
$('#value').html(parseFloat(data.data.coin.price).toFixed(3));
设d=新日期();
$('#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')});
}
})
}
$(文档).ready(函数(){
fetchData();
window.setInterval(fetchData,1000)
})
.main{
显示器:flex;
弯曲方向:立柱;
对齐项目:居中;
}
.价值{
字体大小:粗体;
}

当前比特币汇率:

0$ (截至)

我把代码从上改到下。。。就像这样:

$(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);
   }
  });
 }
这对我很有效。。多亏了阿米尔

但唯一的问题是现在。。有时,该代码会停止网页的工作

它是不规则的。。。有时工作很完美。。有时变得很慢等等

为什么会这样?错在哪里?(注:本页我上传文件、更改文本等)

我把代码从上改到下。。。就像这样:

$(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);
   }
  });
 }
这对我很有效。。多亏了阿米尔

但唯一的问题是现在。。有时,该代码会停止网页的工作

它是不规则的。。。有时工作很完美。。有时变得很慢等等


为什么会这样?错在哪里?(注意:在此页面中,我上传文件、更改文本等)

Thanx,请回复。。我明白你的意思。但是例子有点不够。。你能再给我举个例子吗。。也作为提醒:我希望我所有的网页都是“聊天”,我的意思是:当有人更新数据。。所有其他用户数据将在不刷新页面的情况下更新…您有两个选项:您可以定期检查服务器是否有任何更改(如我在回答中所建议的),或者您可以使用另一种方法,允许服务器在每次更改时通知客户端。第一种方法比较简单,适用于不需要太多快速更新的情况(例如,每分钟更新一次或更新频率较低)。第二种方法更复杂,适用于几乎需要即时更新且只有少数客户端(可能少于10个)的情况。我建议您不要选择第二种方案,除非您必须这样做。让我知道哪种方案是您的用例,这样我们可以再次讨论细节谢谢您的帮助。。。我最多有10个用户。。事实上,我几乎完成了我们的网络程序。。。但现在每个人都需要随时刷新页面,看看是否有新的更新或任何东西。。。我想有两件事:1)一个代码,例如每10秒刷新一次页面,但它会分发给用户。。。2) 一个代码,调用数据库每秒网页html页面作为“实时聊天等”很容易在互联网上找到,但我想我选择的是两个或您的第一个报价。。。你能给我一些关于如何从服务器上执行的详细信息吗?我在本地主机中使用这些代码,在w3school中也在我的网页中使用。。其中3个,未刷新页面不会更改:请回复。。我明白你的意思。但这个例子有点不够