2015-07-10 44 views
2

我使用Joomla框架API來構建Web應用程序。 現在我想以JSON格式顯示數據庫中的一些數據,並且我必須將默認的HTTP-Content-Type從text/html更改爲application/json。 在Joomla框架自帶的Symfony HTTP基礎組件,所以我在網上搜索,發現這個:在Joomla框架中設置自定義內容類型

use Symfony\Component\HttpFoundation\Response; 
$response = new Response(); 
$response->headers->set('Content-Type', 'application/json'); 
$response->send(); 

但沒有效果。

我也曾嘗試以標準方式:

header("Content-Type: application/json"); 

這並不太多工作..

感謝您的諮詢!

+0

AFAIK Joomla中唯一使用的Symfony組件是YAML組件。你在哪裏讀過「Joomla框架與Symfony一起」? –

+0

當我通過作曲者安裝框架時,它也安裝了Symfony Http基礎組件.. – nicl

+0

查看https://packagist.org/packages/joomla/framework,似乎安裝的唯一依賴項是psr/log和symfony/YAML。我嘗試過自己,但沒有獲得Symfony Http Foundation組件。也許它是你安裝的不同版本? P.S.抱歉,堅持這一點,但我認爲這與你的問題非常相關。 –

回答

1

我發現了以下解決方案:

\的Joomla \應用\ AbstractWebApplication我寫的那臺現有的屬性mime類型的新方法:

public function setMimeType($mimeType) { 
      $this->mimeType = $mimeType; 
     } 

這完美的作品。

0

檢查JApplicationWeb API和setHeader/sendHeader函數。

+0

我使用的是Joomla框架API,而不是Joomla CMS API。 – nicl