【问题标题】:Javascript listening for data changes & trigger reloadJavascript 监听数据变化并触发重新加载
【发布时间】:2017-12-08 16:51:09
【问题描述】:

我在 PHP 中有一个服务器发送事件,它显示客户端的库存信息并实时更新。那部分效果很好。挑战是我想在库存 = 0 时触发重新加载。注意:我使用的是 jQuery Mobile 1.4.5

这是我的代码:

var source = new EventSource('listener.php');
source.onmessage = function(msg) {
document.getElementById('inv').innerHTML = msg.data; 
};

source.addEventListener('msg', onMessageHandler,false);

function onMessageHandler(msg) {
var inventory = msg.data;
};

// Trying to Fire Something like this //
//if (inventory = 0) {
//setTimeout(function() {    
//location.reload(true) 
//},5000);

感谢您的任何建议:)

【问题讨论】:

  • 您是否在控制台中遇到任何错误?如果库存值为“0”,它是否在 if 条件内?
  • if (inventory = 0) -> if (inventory == 0)if (inventory === 0)
  • 更改为 if (inventory === 0) 并且控制台中没有错误。
  • 检查所有,如果 (inventory == 0) 是正确的方法。代码顺序已更改。现在工作:)
  • 感谢@Andeas 的关注:)

标签: javascript jquery jquery-mobile


【解决方案1】:

观察范围:

var source = new EventSource('listener.php');
source.onmessage = function(msg) {
  document.getElementById('inv').innerHTML = msg.data; 
};

source.addEventListener('msg', onMessageHandler,false);

function onMessageHandler(msg) {
var inventory = msg.data;
 if (inventory === 0) {
    setTimeout(function() {
      location.reload(true);
    }, 5000);
  }
};

【讨论】:

  • 我试过你更正的代码。但是,它仍然不会触发。很可能是 jQuery Mobile 的一些问题?抱歉,如果我忘记在 OP 中提及这一点。
  • 谢谢@Gearoid。您为我指明了解决方案的正确方向。非常感谢:)
【解决方案2】:

感谢您的建议。两者都提供了极大的帮助。如果其他人遇到类似的挑战,这对我有用:

var source = new EventSource('listener.php');
source.onmessage = function(msg) {
  document.getElementById('inv').innerHTML = msg.data;
  console.log(msg.data);
  var x = msg.data;
  if (x == 0) {
    setTimeout(function() {
      window.location.reload(true);
      // Or any of the 1000's of other ways to reload
    }, 1000);
  }
};

source.addEventListener('msg', onMessageHandler,false);

function onMessageHandler(msg) {
  var inventory = msg.data;
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2011-10-31
    • 1970-01-01
    • 2020-12-30
    • 2010-12-18
    相关资源
    最近更新 更多