Tornado 支持JSONP的请求封装
来源:互联网 发布:重庆宏宇软件 编辑:程序博客网 时间:2024/06/09 23:47
由于JSONP强大的跨域访问功能,发现tornado没有对jsonp的默认支持,还好tornado是开源的,就简单实现了一个JSONPHandler,对一切JSONP请求进行封装。
对于jsonp跨域见上一篇文章
tornado对于jsonp的封装主要在finish的时候返回的json是对前端页面js的调用
import jsonfrom functools import wrapsdef jsonp(func):"Wraps JSONfiled output for JSONP requests."@wraps(func)def decorated_func(*args, **kwargs):# First argument always be the requestHandlerrequestHandler = args[0]callback = requestHandler.get_argument('callback', False)data = json.dumps(func(*args, **kwargs))content = str(callback) + '(' + data + ')' if callback else datarequestHandler.write(content)requestHandler.finish()return decorated_func
在tornado中可是直接使用函数修饰,对返回的数据做jsonp的处理
from tools import jsonpclass AnalyzeDomainIp(tornado.web.RequestHandler):@jsonpdef get(self, collection='todayDomain', domain=''):return datacenter.get_domain_detail_ip(collection, domain)
$.getJSON('http://www.server.com:8081/jsonp/helloword?jsonp=?', function(data) { $('#get-console').html(data['josnp-get']); });
0 0
- Tornado 支持JSONP的请求封装
- SpringBoot多跨域请求的支持(JSONP)
- SpringBoot多跨域请求的支持(JSONP)
- 原创 javascript 封装jsonp 请求
- 封装jsonp跨域请求
- SpringMVC支持Jsonp跨域请求的方法
- Spring Boot支持JSONP跨域请求数据(Ajax的jsonp)
- jsonp的封装
- jsonp的跨越请求
- 为什么jsonp只支持get请求?
- 利用ES6-Promise()方法封装原始jsonp实现跨域请求公用方法(告别使用JQuery封装好的jsonp)
- WebApi JSONP的支持 c#
- jsonp不同的请求方式
- JSONP的跨域请求
- tornado处理post请求的json数据
- jsonp封装
- Jsonp封装
- 简易封装 XHR:支持 GET/POST/PUT/DELETE/JSONP/FormData
- 字符串处理
- 因为我们在对待他冷漠的表面下
- Makefile之wildcard
- 我们便在音乐声里给这头驯鹿编了一支又一支滑稽的舞曲
- The Hash
- Tornado 支持JSONP的请求封装
- android版本更新问题
- SQL Server 2008将数据导出为脚本 [SQL Server]
- mysql语句:批量更新多条记录的不同
- Unable to resolve target 'android-i'
- 黑马程序员 知识点总结-Java泛型
- Joda-Time学习
- 在 MVC4 中使用 Uploadify 3.2 - 1
- Mysql Merge存储引擎实现分表