【问题标题】:How can i make my Tornado server render javascript?如何让我的 Tornado 服务器呈现 javascript?
【发布时间】:2017-03-20 03:01:43
【问题描述】:

我对编程世界还很陌生,我正在尝试创建这个 raspberry-pi 服务器来控制互联网上的一些电子设备。但似乎我复制和编写的代码不允许网页执行 java 脚本。如何更改我的代码以便它也呈现 java 脚本?

抱歉英语不好。

Python 代码:

import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import tornado.websocket

class WebServer(tornado.web.RequestHandler):
    def get(self):
        self.render("index.html")

class WebSocket(tornado.websocket.WebSocketHandler):
    def check_origin(self, origin):
        return True

    def open(self):
        print("Connection opened")
        self.write_message("Connection opened")

    def on_close(self):
        print("Connection closed")

    def on_message(self, message):
        print("message received: " + str(message))

def main():
    tornado.options.parse_command_line()
    app = tornado.web.Application(handlers=[(r"/", WebServer)])
    app2 = tornado.web.Application(handlers=[(r"/", WebSocket)])
    server = tornado.httpserver.HTTPServer(app)
    server2 = tornado.httpserver.HTTPServer(app2)
    server.listen(80)
    server2.listen(8000)
    tornado.ioloop.IOLoop.instance().start()

if __name__ == "__main__":
    main()

HTML代码:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>liquoratus.pi</title>
    <link href="./favicon.ico" rel="icon" type="image/x-icon" />
    <script type="text/javascript" src="script.js"></script>
</head>
<body>

<h1>It works</h1>

</body>
</html>

Javascript:

var ws = new WebSocket("ws://192.168.2.6:8000/")

ws.onopen = function(){
    ws.send("Hello World");
};

ws.onmessage = function(event){
    console.log(event.data)
}

ws.onclose = function(){
    alert("Lost connection to the server!");
}

【问题讨论】:

    标签: javascript python html tornado


    【解决方案1】:

    使用StaticFileHandler 为您的script.jsfavicon.ico 提供服务。

    【讨论】:

      【解决方案2】:

      Javascript 未呈现。如果您需要动态更改 html 以显示从 websocket 推送的消息,您可能需要通过 javascript 来执行此操作。

      【讨论】:

        猜你喜欢
        • 2010-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        相关资源
        最近更新 更多