2011-04-24 21 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);