【发布时间】:2011-09-27 18:08:53
【问题描述】:
我有一个控制器方法,它长期以来一直通过解析该扩展来处理 JSON 请求,但现在我需要打开它以跨域 ajax,所以我想通过解析该扩展来提供 JSONP 变体。我已经更新了我的routes.php 文件:
Router::parseExtensions( 'json', 'jsonp' );
到目前为止一切都很好,但是当结果呈现时,幸福就结束了。当.json 扩展自动选择json/default.ctp 布局时,.jsonp 内容继续采用非特定的默认布局(及其所有不必要的 HTML 内容)。我尝试使用RequestHandler::setContent() 将响应内容类型设置为json 和js,但这似乎不会触发对给定布局目录的调用。
有谁知道是什么决定了调用哪个特定于内容的布局目录?我尝试创建 jsonp/default.ctp 并尝试使用我的 JSONP 结果创建 js/default.ctp 布局,但似乎没有任何参与。我只是得到正常的默认值。
任何关于扩展/内容类型如何映射到这些布局目录的见解将不胜感激。
【问题讨论】:
标签: cakephp cakephp-1.3