我已经阅读了cookbook中的RequestHandler部分。有isXml()isRss()等。但是没有isJson()

还有其他方法检查请求是否为JSON吗?

因此,当url为mysite.com/products/view/1.json时,它将提供JSON数据,而没有.json时,它将提供HTML视图。

谢谢

最佳答案

我不认为cakePHP对于json数据具有像isJson()这样的功能,但是您可以创建自定义,例如:

//may be in your app controller
function isJson($data) {
  return (json_decode($data) != NULL) ? true : false;
}
//and you can use it in your controller
if( $this->isJson($your_request_data) ) {
 ...
}


添加:
如果要检查.json扩展名并进行相应处理,则可以在控制器中执行以下操作:

$this->request->params['ext']; //which would give you 'json' if you have .json extension

08-24 15:09