Server-Sent(SSE):

server sent用于自动接收服务器更新,当服务器发生数据更新时,此事件将自动执行来更新页面数据,常用于博文、股价等不断变化的项目中。下面将简单介绍SSE中三个常用事件:

onopen,当通往服务器的链接被打开时执行处理函数;

onerror,当服务端发生错误时,执行处理函数;

onmessage,当服务端发生变化时执行处理函数;

首先创建一个实例对象如:new EventSource(‘test.php’),实例对象括号中用于传入一个服务端文件,用于此对象中onmessage事件对象处理,事件对象中data属性就是接收到服务端变化后的数据,事件对象如下:

服务端数据每更新一次,就会自动执行onmessage事件,具体如下:

javascript脚本:

 <script>// 1.创建EventSource对象:var source = new EventSource('test.php'); //将服务端的脚本地址传入到对象中// 2.使用source对象的onmessage事件监听服务端数据变化,并通过事件对象将变化后的数据打印在控制台:source.onmessage = function(event) {console.log(event.data); //将服务端变化的数据打印到控制台}</script>

服务端文件可以是Java、none.js、php等脚本,这采用php文本介绍SSE,php在本文不做详细介绍,后面会有相关文档详细介绍:

 <!--  创建一个php文档,将文件放到与test.html文件同目录--><?phpheader('Content-Type: text/event-stream');//设置header,后面php会详细介绍$time = date('r');//定义变量接收当前时间echo "data:{$time}\n\n";//将变化的时间输出

注意:此案例应该和web Worker一样部署在服务器上才能正常运行,否则会报类似错误:Access to resource at ‘file:///C:/Users/17121/Desktop/test/test.php’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.;实际开发中应当判断浏览器是否支持EventSource对象,当不支持时应当做出错误提示。

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者 删除。
笔者:苦海

SSE事件作用,错误分析相关推荐

  1. 简述mysql事件作用_MYSQL使用简述

    1.如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了.也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK. 2.你可以使用光标上下键调出以前的命令 ...

  2. jax-rs jax-ws_迟来总比没有好:SSE或服务器发送的事件现在已在JAX-RS中

    jax-rs jax-ws 服务器发送的事件 (或简称为SSE )是非常有用的协议,它允许服务器通过HTTP将数据推送到客户端. 这是我们的Web浏览器支持的年龄,但是令人惊讶的是, JAX-RS规范 ...

  3. 迟来总比没有好:SSE或服务器发送的事件现在已在JAX-RS中

    服务器发送的事件 (或简称为SSE )是非常有用的协议,它允许服务器通过HTTP将数据推送到客户端. 这是我们的网络浏览器支持的年龄,但令人惊讶的是, JAX-RS规范在很长一段时间内都忽略了这一点. ...

  4. Vert.x实战 事件总线:Vert.x应用程序的主干

    本章包括: 什么是事件总线 如何在事件总线上拥有点对点通信[point-to-point].请求-应答通信[request-reply].发布/订阅通信[publish/subscribe] 用于在网 ...

  5. android 模拟点击localinstrumentation,Android Instrumentation模拟鼠标点击事件

    看了几遍网上的博客一直没有 模拟出鼠标点击事件和按钮事件,后来抱着试试态度再重试的时候终于有所斩获.下面把具体的情况记录一下: 首先我们必须了解类 Instrumentation: Instrumen ...

  6. Canvas事件绑定

    canvas事件绑定 众所周知canvas是位图,在位图里我们可以在里面画各种东西,可以是图片,可以是线条等等.那我们想给canvas里的某一张图片添加一个点击事件该怎么做到.而js只能监听到canv ...

  7. 【js】event(事件对象)详解

    1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...

  8. js中的DOM事件之冒泡和捕获事件详解

    DOM中的事件是一个很中要的东西,它可以让用户和浏览器之间进行交互,以此来实现人机交互效果 DOM事件 DOM事件分为DOM0级事件和DOM2级事件.DOM0级其实不存在,我们把DOM最初的版本叫0级 ...

  9. 【SCIR Lab】事件表示学习简述

    作者:哈工大SCIR 廖阔 1. 简介 事件通常指包含参与者在内的某种动作或情况的发生,或世界状态的改变.在粒度上,事件介于词与句子之间:与词相比,事件通常包含多个词,用来描述事件的发生及事件的组成要 ...

最新文章

  1. 和12岁小同志搞创客开发:手撕代码,做一款亮度可调节灯
  2. 得到windows聚焦图片(windows 10)
  3. 生物信息学 生物科学、农学、林学、医学
  4. 5see我看视频交友客户端 v2.3.0.11官方版
  5. 软件测试-HTTP Analyzer过期了怎么办?
  6. Struts2的自动装配
  7. SAP CRM interactive report的各种输入字段
  8. 轻松理解—继承成员访问控制机制
  9. python list保存至csv文件
  10. BMC之ipmitool 命令收集
  11. 探测内网c段、外网某网站(ip)的网络服务存活状态
  12. 计算机五个盘,电脑分盘分几个盘合适,您知道吗?
  13. FlinkSQL建表语句与插入语句
  14. 7-8 哈利·波特的考试 (25分) 【最短路径】
  15. linux 拼音输出繁体_ubuntu输入法是繁体 寻找Ubuntu中繁体字输入法 - Linux - 服务器之家...
  16. 【转录调控网络】基因转录调控网络——转录因子调控网络分析
  17. 互联网早报:微信内测深度清理功能内存,可一键清理缓存
  18. Arun Gupta通过将HTML5与Java EE 7拥抱来提高生产力
  19. 年轻设计师如何做好商业设计
  20. .NET破解之太乐地图下载器【非暴破】

热门文章

  1. 如何用python的i2c教程_Micropython TPYBoard I2C的用法
  2. 查看目录是否为内存盘_Linux buff/cache内存释放
  3. arm linux sms,基于arm处理器的手机短消息加密系统 encryption system for sms based on arm.pdf...
  4. 使用MATLAB GUI创建图形用户界面GUI
  5. pcl里面的3D特征
  6. ecshop活动页_ECSHOP团购活动,ECSHOP团购列表
  7. 电路结构原理_精密半波、全波整流电路结构原理图解
  8. java 搜索引擎 关键词高亮_和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮(示例代码)...
  9. Python习题week1
  10. opencv12-图像金字塔