2011-04-24 57 views
1

我正在建立一个AJAX系统,我有一个需要返回JSON数据的控制器。在到目前为止的示例中,所有控制器的结束与该视图的电话:如何在DooPHP控制器中返回JSON?

$this->renderc('interest', $data); 

我想回直JSON用于jQuery的使用,但下面的代码是不太正确的工作:

return json_encode($data); 

因为返回通过作为标题,而不是Firebug中的内容。 Heeeelp!

回答

2

Documentation

有些时候,它是伟大的,在URL(伟大的REST API)的末尾添加扩展名。如果你需要的话,只需在你的路由添加扩展名:

$route['*']['/simple.rss'] = array('FeedController', 'getRss'); 
$route['*']['/simple.atom'] = array('FeedController', 'getAtom'); 

这是一个有点不同,如果你想拥有它添加到一个带参数的路线:

$route['*']['/news/list/:id'] = array('FeedController', 
             'listNews', 
             'extension'=>'.json' 
            ); 

//Or multiple extension names. 
$route['*']['/news/list/:id'] = array('FeedController', 
             'listNews', 
             'extension'=>array('.json', '.xml') 
            ); 

用户可以通过http://domain/news/list/168.json OR 168.xml

0

访问它淘汰掉JSON格式的数据(当然,适当的内容类型报头) 在控制器中使用。 $this->toJSON($data, true);