当前位置: 首页 > 知识库问答 >
问题:

javascript - EventSource的onmessage方法不执行?

卢开济
2023-04-27

EventSource的onmessage方法不执行,浏览器控制台的EventStream中能看到后台推送的消息,是为什么呢?

                this.eventSource = new EventSource("/xxxxxxxxxx");
                this.eventSource.onmessage = function(e) {
                    console.log(1111111111111);
                };

共有1个答案

陆城
2023-04-27

可能是由于onmessage方法未能正确注册导致的。有几种可能的原因:

  1. 代码中的事件源URL不正确,不能从后台正常获取数据。您应该确认事件源URL是否正确,如果不正确,请更正它以确保能够从后台获取数据。
  2. onmessage方法被其他代码修改或覆盖。在某些情况下,您可能会在事件源和onmessage函数之间处理其他代码。如果这些代码不小心修改或覆盖了onmessage方法,则onmessage不会运行。您应该检查所有相关代码,确保不会修改onmessage方法。
  3. 浏览器不支持EventSource。尽管现代浏览器大多支持EventSource,但如果您的浏览器不支持它,则事件源不会正确工作。您应该使用支持EventSource的浏览器,或者尝试使用另一种浏览器。
  4. 后台只发送了文本数据。如果后台发送的数据格式不正确,或者只发送了文本数据而没有设置event类型,则浏览器可能无法正确处理数据。您应该确认后台正确设置了event类型,并且发送的数据格式正确。

你可以在以上这些问题中尝试解决,以确保您的onmessage方法能够正确运行。如果这些方法都不能解决问题,您可以尝试抓取网络请求,检查后台是否正确发送了数据。

 类似资料:
  • react中使用了websocket,但是我发现当服务器端通过onmessage返回数据后,onmessage方法体中获取不到useState最新值,比如, 有谁知道如何解决吗?

  • vue3不执行onload方法 下面是我的测试代码,mounted和nextTick总是前后脚一起打印出来,但onload不执行 我的需求是弄一个loading,所以需要监听页面是否完全加载完成关闭loading 会出现背景图还没渲染完成的情况

  • 本文向大家介绍PowerShell中执行Javascript的方法示例,包括了PowerShell中执行Javascript的方法示例的使用技巧和注意事项,需要的朋友参考一下 背景与问题 别人写了一个Web应用程序,使用的是ASP.NET Forms技术。其中用到了一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,逻辑很简单。 这是产生的的部分的h

  • 问题内容: 我一直在开发一个nodejs服务器,以便为我正在使用HTML5开发的新网站提供服务器端事件。 当我通过telnet到服务器时,它可以正常工作,向我发送所需的HTTP响应标头,然后再发送一系列事件,这些事件我目前每2或3秒生成一次,以证明其有效。 我尝试了最新版本的FireFox,Chrome和Opera,它们创建了EventSource对象并连接到nodejs服务器,但没有一个浏览器会

  • 指定当脚本接收到特定消息时自动调用的函数。 OnMessage(MsgNumber [, "FunctionName", MaxThreads]) 参数 MsgNumber 需要监视或查询的消息编号, 应该介于 0 和 4294967295 (0xFFFFFFFF) 之间. 如果您不想监视 系统消息 (即编号小于 0x400 的那些), 那么最好在大于 4096 (0x1000) 的范围中选择一个

  • 问题内容: 我该如何发出一个Ajax请求来从javascript 更新?我当前正在使用加载初始数据,但这会大大延迟初始页面加载。 我正在考虑使用HTML标记事件触发请求并更新数据表。 问题答案: 从 理论上讲 ,应该执行以下操作。 与 但是,由于某些原因不支持此功能。 以下工作有效,但从本质上讲这是一个hack。 如果碰巧使用了PrimeFaces,则可以将其with设置为。 或者,如果您使用的是