Javascript Python Tornado:如何设置WebSocket标题?

Javascript Python Tornado:如何设置WebSocket标题?,javascript,python,websocket,cors,tornado,Javascript,Python,Websocket,Cors,Tornado,我是网络开发新手,所以让我解释一下: 我希望我的Python Tornado服务器与网页通信。我的网页使用WebSocket和onmessage功能打印它应该从Tornado服务器接收的内容。基本上,这里是HTML JavaScript部分: $(文档).ready(函数(){ var myURL=”http://localhost:8888"; var source=new EventSource(myURL,{withCredentials:true});//访问控制允许源 ... sour

我是网络开发新手,所以让我解释一下:
我希望我的Python Tornado服务器与网页通信。我的网页使用WebSocket和
onmessage
功能打印它应该从Tornado服务器接收的内容。基本上,这里是HTML JavaScript部分:

$(文档).ready(函数(){
var myURL=”http://localhost:8888";
var source=new EventSource(myURL,{withCredentials:true});//访问控制允许源
...
source.onmessage=函数(事件){
log(“接收到新事件!”);
};
...
}); // 就绪()
我正在将
withCredentials
参数设置为
true
以便启用

在Tornado方面,我有一个WebSocket类,它应该会应答,但我不知道如何将标题设置为启用
Access Control Allow Origin
。以下是龙卷风代码:

类EchoWebSocket(tornado.websocket.WebSocketHandler):
def检查_原点(自身、原点):
返回真值
def on_消息(自我,消息):
自我写入信息(u“已接收信息:+信息)
def make_app():
返回tornado.web.Application([('/',EchoWebSocket),])
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app=make_app()
app.listen(8888)
打印“在8888端口侦听…”
#启动主回路
tornado.ioloop.ioloop.current().start()
我的浏览器中出现以下错误

GEThttp://localhost:8888/ [HTTP/1.1 400错误请求1ms]
已阻止跨源请求:同一源策略不允许读取位于的远程资源http://localhost:8888/. (原因:缺少CORS标头“访问控制允许原点”)。

我遗漏了什么?

您的javascript正在使用EventSource,但您的服务器正在提供WebSocket。这是两件完全不同的事情。您需要更改其中一个以匹配另一个

您的javascript正在使用EventSource,但您的服务器正在服务WebSocket。这是两件完全不同的事情。您需要更改其中一个以匹配另一个