HTML5新API SSE服务器发送事件

1、介绍

      SSE是创建到服务器单向连接,服务器可以通过这个连接发送任意数量的数据。

2、基本使用

      var source = new EventSource("服务器地址")//创建一个EventSource对象

      source.onmessage = function(ev) {

              console.log(ev.data) ;     //服务器发送的数据放到ev.data中

      }

    source.onopen = function() {}

  source.onerror = function() {}

    //source.close()   关闭连接,不会再发送

// 执行顺序分别是open、message、error

 

php文件

<?php
header('Content-Type: text/event-stream');    // 必须
header('Cache-Control: no-cache');        //禁止浏览器缓存

$time = date('r');
echo "data: The server time is: {$time}\n\n";   //  \n\n是必须的,只有包含data: 数据 后面有空行,onmessage才会触发
flush();    

 

tips:服务器地址不能携带GET参数,否则无法正常执行。

3、兼容问题

由于兼容性问题,首先使用能力检测

if(EventSource) {

  var source = new EventSource("服务器地址")//创建一个EventSource对象

}else {

  //使用ajax

}   

转载于:https://www.cnblogs.com/Salted-fish-without-dreams1/p/9451715.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值