这个是帮同学写的一个小demo,就是无刷新请求获得数据的html示例,支持中文。同时也是自己第一次学习python简洁的服务器框架。
页面就暂时用字符串代替了
# -*- coding:utf-8 -*
import time
import tornado.ioloop
import tornado.web
page='''
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("output").innerHTML=xmlhttp.responseText;
}
}
var info=document.getElementById("in").value
var req="info="+info
//xmlhttp.open("GET","/try",true);
xmlhttp.open("POST","/try",true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//xmlhttp.setRequestHeader("Accept-Language","zh-CN,zh;q=0.8");
req=encodeURI(req)
xmlhttp.send(req);
}
</script>
</head>
<body>
<div>
<textarea id="in" name="input" style="height:200px;width:400px;font-size:18px"></textarea>
<button onclick="loadXMLDoc()">segment</button>
<textarea id="output" name="output" style="height:200px;width:400px;font-size:18px"></textarea>
</div>
</body>
</html>
'''
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(page)
class CWSHandler(tornado.web.RequestHandler):
def initialize(self):
pass
def get(self):
self.write("GET : Now is %d" % time.time())
def post(self):
print(self.get_argument('info', ''))
self.write( ("POST: Now is %d" % time.time()) + self.get_argument('info', ''))
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
(r"/try", CWSHandler,)
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()