gpt4 book ai didi

java - 服务器发送的事件在 Google Chrome 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 12:51:51 25 4
gpt4 key购买 nike

这是我的服务器 JSP 代码“Server_Date.jsp”

<%
response.setHeader("cache-control", "no-cache");
response.setContentType("text/event-stream");
out.print("data: " + (new java.util.Date()).toString() + "x\n\n");
out.flush();
%>

这是我的客户端 jsp 页面“Client_Serverdate.jsp”

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body onload="begin()">
<h1>Getting server updates</h1>
<div id="result"></div>
<script >
if(typeof(EventSource)!=="undefined")
{
var source=new EventSource("Server_Date.jsp");
source.addEventListener("message", function(event) {
document.getElementById("result").innerHTML = event.data;
}, false);
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>

请帮助我,此代码在 Mozilla Firefox、Opera 中运行良好,但在 Google Chrome 中无法运行(我还检查了 18.x 和 20.x)。

它将转到服务器页面,我已使用 print 语句检查过,但它没有到达 document.getElementById("result").innerHTML = event.data; 行。

最佳答案

对于其中一个,您正在调用一个未定义的函数 begin(),尽管这不应该是这里的问题。

Chrome 开发控制台是否显示任何错误?它应该至少显示一个。因为有 begin 函数。网络选项卡是否显示到 Server_Date.jsp 的流量?

关于java - 服务器发送的事件在 Google Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11329233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com