2017-06-13 51 views
0

我已经做了一个sse演示,但它不工作,我张贴的JS和Java代码,请告诉我什么是错的,谢谢。服务器发送事件与春天mvc总是关闭

这是JS:

if (window.EventSource) { 
    var source = new EventSource('http://127.0.0.1:8080/pushweb/push'); 
    source.addEventListener('message', function(e) { 
     console.log(e.data, this.readyState); 
    },false); 

    source.addEventListener('open', function(e) { 
     console.log("conncted",this.readyState); 
    },false); 
    source.addEventListener('error', function(e) { 
     if (e.target.readyState == EventSource.CLOSED) { 
      console.log("closed"); 
     } else if(e.target.readyState == EventSource.CONNECTING){ 
      console.log("connecting"); 
     }else { 
      console.log("error"+this.readyState); 
     } 
    }, false); 
} else { 
    console.log("not support SSE"); 
} 

这是用SpringMVC代码:

@CrossOrigin(origins = "*", maxAge = 3600) 
@Controller 
public class PushController 
{ 
@RequestMapping(value = "/push", produces = "text/event-stream;charset=UTF-8") 
@ResponseBody 
public String push() 
{ 
    String str =Long.toString(System.currentTimeMillis()); 
    return "data:"+str + "\n\n\n"; 
} 

@RequestMapping(value = "/message") 
@ResponseBody 
public String message() 
{ 
    String stre = "hello"; 
    return stre; 
} 

}

this is the chrome console result

+0

如果你想调试帮助,至少要提供预期的和适当的行为,“告诉我什么是错的”是不够的。另请阅读[help/on-topic]和[问]。 – chtz

回答