【发布时间】:2012-06-13 09:33:14
【问题描述】:
我有一个 Yii 网站,有两个页面 site.com/user/create 和 site.com/user/create.json
我需要为两个页面设置一个控制器。
- 我如何为这些创建路线 - 我试过
<controller:\w+>/<action:\w+>.json'=>'<controller>/<action>) 但没有帮助 - 如何在控制器中识别请求是针对 JSON 还是 HTML - 我尝试过
$_SERVER['CONTENT_TYPE'],在 REST 客户端中没问题,但在浏览器中我收到了 PHP 通知Undefined index: CONTENT_TYPE
【问题讨论】:
-
要绕过
Undefined index: CONTENT_TYPE,您可以执行$type = !empty($_SERVER['CONTENT_TYPE']) ? $_SERVER['CONTENT_TYPE'] : 'text/html';之类的操作来消除错误并默认为浏览器的text/html- 但老实说,请求的内容类型可能会不相关,您最好使用 URL 中的差异来确定响应的内容类型。