服务器发送事件和ajax请求有什么区别?

问题描述

我需要用户界面中的通知。您有 4 条新消息等。我做了研究并在这里阅读了这篇文章

server-sent events

如果用户不断有 0 条新消息或不断有 4 条新消息,我的目标是不向服务器发出请求。

如果服务器消息发生变化,我想对客户端采取行动。所以我不会厌倦服务器。

然而,sse 就像一个“ajax 脚本”任务,在 3 秒内运行。我一直不明白有什么区别。

我的代码

index.html

<!DOCTYPE html>
<html lang="tr">
  <head>
    <Meta charset="UTF-8" />
    <Meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <Meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>

<h1>Getting server updates</h1>
<div id="result"></div>

<script>
document.getElementById("result").innerHTML = "Get Data:";

if(typeof(EventSource) !== "undefined") {
  var source = new EventSource("sse.asp");
  source.onmessage = function(event) {
    document.getElementById("result").innerHTML += event.data + "<br>";
  };
} else {
  document.getElementById("result").innerHTML = "Sorry,your browser does not support server-sent events...";
}
</script>


  </body>
</html>

sse.asp

<%
Response.ContentType = "text/event-stream"
response.addheader "Cache-Control","no-cache"
response.addheader "Connection","keep-alive"
Response.Expires = -1


data="4 New Messages"
response.flush
Response.Write "data: " & data &""& vbcrlf & vbcrlf
response.flush


%>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)