赞
踩
1. 注意设置报头为 "text/event-stream"
2. \n\n必须要
3. 键必须为data
java代码:
- @Controller
- @RequestMapping("/send")
- public class H5SendServer {
- @RequestMapping(value = "/serverSend.do")
- public void serverSend(HttpServletResponse response)
- {
- response.setContentType("text/event-stream");
- response.setCharacterEncoding("UTF-8");
- try {
- PrintWriter writer = response.getWriter();
- writer.write("data: 中文测试 \n\n");//这里需要\n\n,必须要,不然前台接收不到值,键必须为data
- writer.flush();
-
- Thread.sleep(3000);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }

js代码:
- if(typeof(EventSource)!=="undefined"){
- var source=new EventSource(path+"/send/serverSend.do");
- source.onmessage = function(event){
- console.log("event.data=" + event.data);//必须用data接收
- $("#test").innerHTML += event.data + "<br />";
- };
- source.onerror = function(event){
- console.log("error");
- };
- source.onopen = function(event){
- console.log("open");
- };
- }else{
- console.log("此浏览器不支持server-send");
- }
实现效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。