如何在 Django 中从服务器发送的事件发送 json 数据?

问题描述 投票:0回答:0

我正在寻找问题的答案,如何发送“JSON 数据”? 例如,如果我想提交讨论,它将作为字符串发送,而不是“JSON”

这就是我要发送的内容,但我真的很想发送讨论,但我计算了讨论的数量并发送了它,如果用户拥有的号码与该号码不同,它会更新数据,我认为这是一种糟糕的方式

views.py

def stream(request):
    def event_stream():
        discussion = Discussion.objects.all()
        count = discussion.count()    
        
        while True:
            time.sleep(3)
            yield 'data: %i\n\n' % count

    return StreamingHttpResponse(event_stream(), content_type='text/event-stream')

模板


if(typeof(EventSource) !== "undefined") {
  var source = new EventSource("stream/");
  source.onmessage = function(event) {
    console.log(event.data);
    };
} else {
  document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
javascript django server-sent-events
© www.soinside.com 2019 - 2024. All rights reserved.