- TurboGears 教程
- TurboGears - 主页
- TurboGears - 概述
- TurboGears - 环境
- TurboGears - 第一个程序
- TurboGears - 依赖关系
- TurboGears - 服务模板
- TurboGears - HTTP 方法
- Genshi模板语言
- TurboGears - 包括
- TurboGears - JSON 渲染
- TurboGears - URL 层次结构
- TurboGears - Toscawidgets 表格
- TurboGears - 验证
- TurboGears - 闪讯
- TurboGears - Cookie 和会话
- TurboGears - 缓存
- TurboGears - Sqlalchemy
- TurboGears - 创建模型
- TurboGears - 原油操作
- TurboGears - 数据网格
- TurboGears - 分页
- TurboGears - 管理员访问
- 授权与认证
- TurboGears - 使用 MongoDB
- TurboGears - 脚手架
- TurboGears - 挂钩
- TurboGears - 编写扩展
- TurboGears - 可插拔应用
- TurboGears - 安静的应用程序
- TurboGears - 部署
- TurboGears 有用资源
- TurboGears - 快速指南
- TurboGears - 有用的资源
- TurboGears - 讨论
TurboGears - JSON 渲染
@expose ()装饰器默认渲染 html 内容。但是,可以将其设置为json 内容类型。TurboGears 通过tg.jsonify.JSONEncoder ( **kwargs )类支持 json 渲染。要渲染 json 数据,只需将 json 作为内容类型传递以公开装饰器。
@expose('json') def jsondata(self, **kwargs): return dict(hello = 'World')
如果在浏览器中输入“/jsondata”URL,它将通过显示进行响应 -
{"hello": "World"}
jsonp 渲染
jsonp 代表带填充的 json。它的工作方式与 json 输出类似,不同之处在于它提供了一个应用程序/javascript 响应,并调用了一个 javascript 函数,该函数将控制器返回的所有值作为函数参数提供。
要启用 jsonp 渲染,您必须首先将其附加到应用程序内所需引擎的列表中 – config/app_cfg.py -
base_config.renderers.append('jsonp')
按如下方式编写您的暴露装饰器 -
@expose('json') @expose('jsonp') def jsonpdata (self, **kwargs): return dict(hello = 'World')
访问 /jsonpdata?callback = callme 时,您应该看到 -
callme({"hello": "World"});