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

时间:2021-04-13 20:17:56

标签: javascript asp-classic server-sent-events

我需要用户界面中的通知。您有 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


%>

0 个答案:

没有答案