项目结构
jQuery安装
jQuery官方下载,选择Download the compressed, production(用于实际网站,已压缩)
index.html
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="../static/jquery-3.4.1.min.js"></script>
</head>
<body>
<script>
$(function () {
$("button").click(function () {
$.get("/test", {"name": "XerCis"}, function (data, status) {
alert("数据: " + data + "\n状态: " + status);
$("#div1").append(data)
});
});
});
</script>
<div id="div1"></div>
<button>get()</button>
</body>
</html>
server.py
import os
import sys
import tornado.web
import tornado.locks
import tornado.ioloop
from tornado.options import define, options
define("port", default=8888, help="运行端口", type=int)
define("debug", default=True, help="debug模式")
current_path = sys.path[0]
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("templates/index.html")
class TestHandler(tornado.web.RequestHandler):
def get(self):
name = self.get_argument("name")
self.write("<p>Hello {}!</p>".format(name))
def main():
app = tornado.web.Application(
[
(r"/", MainHandler),
(r"/test", TestHandler),
(r"/static/(.*)", tornado.web.StaticFileHandler, {"path": os.path.join(current_path, "static")}),
(r"/templates/(.*)", tornado.web.StaticFileHandler, {"path": os.path.join(current_path, "templates")}),
],
debug=options.debug,
)
app.listen(options.port)
print("http://localhost:{}/".format(options.port))
tornado.ioloop.IOLoop.current().start()
if __name__ == "__main__":
main()
运行结果
页面会更新为