2017-06-14 63 views
0

我工作的一个简单的SSE JavaScript客户端和查看以下应该工作的各种例子:服务栈SSE JavaScript客户端 - 遗漏的类型错误

var source = new EventSource(
     '/event-stream?channel=siteevent&t=' + new Date().getTime()); 

    source.addEventListener('error', function (e) { 
     console.log(e); 
     addEntry({ msg: "ERROR!", cls: "error" }); 
    }, false); 
    $.ss.eventReceivers = { "document": document }; 
    $(source).handleServerEvents({ 
     handlers: { 
      onHeartbeat: function (msg, e) { if (console) 
       console.log("onHeartbeat", msg, e); }, 
      onMessage: function (msg, e) { // fired after every message 
       console.log(msg); 
      } 
     }, 
     receivers: { 
      //... Register any receivers 
     } 
    }); 

它会产生一个错误。如果我添加所有的处理程序,他们会产生更多相同的错误。

的jQuery 2.1.1

Uncaught TypeError: fn.cal is not a function 
    at EventSource.onMessage (ss-utils.js:566) 

jQuery的3.1.X

Uncaught TypeError: Cannot assign to read only property 'target' of object '#' at Function.r.extend.r.fn.extend (jquery.min.js:2) at EventSource.onMessage (ss-utils.js:511)

回答

1

有一个在/js/ss-utils.js包括上线566脚本错误应该FN .call而不是fn.cal。如果其他人遇到与服务堆栈(核心)包含的js SSE库有关的问题,我会留下这个答案。

+1

仅供参考此错字已在v4.5.11中解决,现已可在MyGet上找到(http://docs.servicestack.net/myget)。 – mythz

+1

谢谢。我今天要在论坛/ github上报告这个bug,但很高兴它已经得到修复。我报告的每个问题(小问题)都在一天内得到修复,这非常棒。 – lucuma