javascript - 如何检查来自事件源的数据是否相同

标签 javascript php server-sent-events

我有通过事件源或服务器事件从 php 文件获取数据的代码,但我想检查传入的数据是否与上次收到的数据相同(如果可能) 如果不同,那么它应该运行一个函数

这里是 JavaScript

  let obj=new EventSource('php/data.php');
  obj.onmessage=function(e){
  let chat  = e.data;
  console.log(chat);
}

所以类似的事情

这是 php

<?php
header("Content-type:text/event-stream");
header("Cache-Control:no-cache");
include('connect.php');
$select = "SELECT * from chat where senderid = 1"; 
    $res = mysqli_query($conn, $select);
if($row = mysqli_fetch_assoc($res))
    {
        $reciver = $row['message'];
    }
echo "data:$reciver/".PHP_EOL;
    echo PHP_EOL;
    ob_flush();
    flush();    
?>

提前致谢!!!

最佳答案

这就是我所尝试的并且它有效 如果相同,则打印出文本,但如果不同,则告诉用户并将变量 ev 更改为新数据。

var source = new EventSource("sample.php");
var ev='';
var n =0;
source.onmessage = function(e) {
  if(n==0)
  {
  chat= e.data
  n=1;
  }
  if(n==1)
  {
    if(ev == event.data)
    {
      document.getElementById('result').innerHTML += 'it is the same<br>';
      n=1;
    }
    else{
      document.getElementById('result').innerHTML += 'it is not the same<br>';
      n=0;
    }
  }

};

关于javascript - 如何检查来自事件源的数据是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61164836/

相关文章:

javascript - 在多个元素上执行脚本

javascript - 自动完成不隐藏

php - http.exe、Apache、Xampp 使用端口 443

php - WordPress 主题页面

javascript - 服务器发送事件 : Not working

javascript - Service Worker 未在渐进式 Web 应用程序中自动更新

javascript - 如何删除持久查询字符串

php - 在html中为表数据制作前进/后退按钮

javascript - 服务器发送事件有哪些好的用例

html - 推送 API 和服务器发送的事件有什么区别?