
正文
Jsonp实现跨域请求Ajax
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
客户端
#!/usr/bin/env python
import tornado.ioloop
import tornado.webclass MainHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
self.render('index.html')
def post(self, *args, **kwargs):
self.render('index.html')settings ={
'template_path':'views',#html文件模板路径配置
'static_path':'statics',#css,js文件路径配置
'static_url_prefix':'/sss/',
}
application = tornado.web.Application([
(r"/index", MainHandler), ],**settings)
if __name__ == "__main__":
application.listen(8000)
tornado.ioloop.IOLoop.instance().start()
app.py
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <input type="button" value="Jsonp" onclick="DoJsonpAjax();">
<script src="{{static_url('jquery-3.1.1.js')}}"></script>
<script>
function xxoo(arg){
console.log(arg)
}
function DoJsonpAjax() {
// var tag = document.createElement('script');
// tag.src = "http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list";
// document.head.appendChild(tag);
//
// document.head.removeChild(tag);
////
$.ajax({
url: "http://tao.com:8001/index",
dataType: 'jsonp',
jsonp:'callback',//相当于在url: "http://tao.com:8001/index?callback= xxoo",
jsonpCallback: "xxoo"//相当于在url: "http://tao.com:8001/index?callback= xxoo",
})
}
</script>
</body>
</html>
index.html
服务端
#!/usr/bin/env python
import tornado.ioloop
import tornado.webclass MainHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
callback = self.get_argument('callback')
self.write("{}([11,22,33])".format(callback))
def post(self, *args, **kwargs):
self.write('t2.post')settings ={
'template_path':'views',#html文件模板路径配置
'static_path':'statics',#css,js文件路径配置
'static_url_prefix':'/sss/',
}
application = tornado.web.Application([
(r"/index", MainHandler), ],**settings)
if __name__ == "__main__":
application.listen(8001)
tornado.ioloop.IOLoop.instance().start()
app.py







