html5中用来接收server,HTML5的Server Sent Events前端无法收到数据。

今天看到这个HTML5里面的功能,然后想自己实现一下。。但是按照教程把Header改了。前段没有内容输出。。但是收得到.

env.SetHeader(env.ResponseWriter, "Content-Type", "text/event-stream")

env.SetHeader(env.ResponseWriter, "Cache-Control", "no-cache")

flusher, ok := env.ResponseWriter.(http.Flusher)

if !ok {

http.Error(env.ResponseWriter, "Streaming unsupported!", http.StatusInternalServerError)

return

}

fmt.Fprintf(env.ResponseWriter, "data: updated data")

flusher.Flush()

env是自己封装的里面包含了每次请求的Request,和ResponseWriter.求解~

if(typeof(EventSource)!=="undefined") {

//create an object, passing it the name and location of the server side script

var eSource = new EventSource("/partner/dashboard/update");

//detect message receipt

eSource.onmessage = function(event) {

//write the received data to the page

document.getElementById("update").innerHTML = event.data;

};

}

else {

document.getElementById("serverData").innerHTML="Whoops! Your browser doesn't receive server-sent events.";

}

以上是前端的代码。服务器三秒一更新,状态码是200,但是就是没有数据。Content-Type, 什么的都是对的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值