我用金字塔创建了一个简单的sse事件:
但从客户端,我只得到一个错误响应,试图接收事件。你知道吗
def message_generator():
for i in range(100):
print("Sending message:" + str(i))
yield "data: %s\n\n" % json.dumps({'message': str(i)})
time.sleep(random.randint(1, 10))
@view_config(route_name='ssetest')
def events(request):
Logger.warn("ssetest")
headers = [('Content-Type', 'text/event-stream'),
('Cache-Control', 'no-cache')]
response = Response(headerlist=headers)
response.app_iter = message_generator()
return response
客户:
Javascript客户端-使用我的金字塔url创建新的Eventsource
var eventSource = new EventSource("myurl" + "/" + ssetest);
eventSource.onmessage = function (e) {
console.log(JSON.stringify(e));
targetContainer.innerHTML = e.data;
};
eventSource.onerror = function (e) {
console.log(JSON.stringify(e));
};
eventSource.addEventListener('message', function (e) {
console.log(JSON.stringify(e));
}, false);
我会从EventSource得到这个错误,但我不知道哪里出错了。你知道吗
{
"returnValue": true,
"timeStamp": 1564393825572,
"eventPhase": 2,
"target": {
"readyState": 2,
"onopen": null,
"url": "myurl/ssetest",
"withCredentials": false,
"URL": "myurl/ssetest"
},
"defaultPrevented": false,
"srcElement": {
"readyState": 2,
"onopen": null,
"url": "myurl/ssetest",
"withCredentials": false,
"URL": "myurl/ssetest"
},
"type": "error",
"cancelable": false,
"currentTarget": {
"readyState": 2,
"onopen": null,
"url": "myurl/ssetest",
"withCredentials": false,
"URL": "myurl/ssetest"
},
"bubbles": false,
"cancelBubble": false
}
少了什么吗?你知道吗
此外,我没有发现任何其他金字塔示例如何创建sse事件:/ 所以如果你有好的例子请帮我
敬礼 费边
目前没有回答
相关问题 更多 >
编程相关推荐